簡潔にするために、偽のルート キーを使用しています。Hive_Key
実際にはHKEY_LOCAL_MACHINE
、システムのデフォルト設定またはHKEY_CURRENT_USER
ユーザーごとの設定の場合は に置き換えます。これらのキーのいずれか、または両方の存在が許可されます。両方が存在する場合は、HKCU
キーが優先されます。
拡張子をファイルの種類に関連付けるには、既定のキー値を設定して、選択したファイルの種類に拡張子キー ( Hive_Key\Software\Classes\.ext
) の既定値を設定する必要があります。
起動された実際のプログラムとその他のファイル タイプの詳細は、ファイル タイプに含まれています。ファイルの種類は、ProgID
("Programmatic Identifier" の略で、Class Identifier のより読みやすいバージョンです) と呼ばれるものによって示されます。ProgID キーは にHive_Key\Software\Classes
あり、この図の値の例はext_auto_key
.
ProgID には既定値が設定されている場合があります。これは、エクスプローラーでのファイルの種類のわかりやすい説明 ("Microsoft Word ドキュメント" など) になります。ユーザーにとってわかりやすい説明を選択するかどうかは、開発者次第です。
ProgIDDefaultIcon
には、ファイルの種類のアイコンが格納されているサブキー がある場合があります。そのアイコン パスは、そのキーのデフォルト値です。
shell
ProgID キーは、ファイルのコンテキスト メニュー項目と、そのコンテキスト メニュー項目が呼び出すプログラムを含むサブキーである場合があります。ProgID のデフォルト値と同様に、動詞キーのデフォルト値は、コンテキスト メニューに表示されるテキストです。このshell
キーのデフォルト値には、デフォルトの動詞キー名があります。これは、ユーザーがファイルをダブルクリックしたときに呼び出される動詞です。
これらのコンテキスト メニュー項目はVerbs
. この例では、メモ帳でファイルを開く動詞は次のようになり
Hive_Key\Software\Classes\ext_auto_file\shell\open\command
ますnotepad.exe %1
。
これは、プログラム パスを配置する場所です。notepad.exe のように、プログラムがシステム PATH にある場合は、フル パスを指定する必要はありません。より可能性の高いケースでは、exe へのパスを指定する必要があります。テスト目的で、それをビルド ディレクトリに設定することができます。
この内容を確認する方法を尋ねましたが、これは、最初に拡張キーのデフォルト値を調べて ProgID を取得し、次にshell
ProgID キーのサブキーを調べてデフォルトの動詞を取得し、次に調べ\shell\verb\command
てプログラムへのパスを取得することで実行できます。立ち上げました。
これらのレジストリ キーを開いてregedit.exe
、他のファイル タイプのレジストリ キーを参照して、すべてがどのように機能するかを理解することをお勧めします。
また、特定の拡張機能が、コントロール パネルで既定として設定されているプログラム (既定のプログラム) の制御下にない場合、上記はすべて有効です。このステータスは、キーの存在を確認することで確認できますHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Explorer\FileExts\.EXT\UserChoice
。そうである場合、カスタマイズを有効にする前に、既定のプログラム コントロールを無効にする必要があります。UserChoice
これは、そのサブキーを削除することで実行できます。