ファイルの関連付けを直接管理するための .Net API はないようですが、レジストリ クラスを使用して、必要なキーの読み取りと書き込みを行うことができます。
HKEY_CLASSES_ROOT の下に、ファイル拡張子 (例: ".txt") に設定された名前でキーを作成する必要があります。このキーのデフォルト値を、「Acme.TextFile」などのファイル タイプの一意の名前に設定します。次に、HKEY_CLASSES_ROOT の下に別のキーを作成し、名前を「Acme.TextFile」に設定します。「DefaultIcon」というサブキーを追加し、キーのデフォルト値を、このファイル タイプに使用するアイコンを含むファイルに設定します。「シェル」と呼ばれる別の兄弟を追加します。「シェル」キーの下に、エクスプローラーのコンテキスト メニューから使用できるようにする各アクションのキーを追加し、各キーのデフォルト値を実行可能ファイルへのパスに設定し、その後にスペースと「%1」を付けてパスを表します選択したファイルに。
たとえば、.txt ファイルと EmEditor の間の関連付けを作成するレジストリ ファイルの例を以下に示します:
Windows レジストリ エディタ バージョン 5.00
[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"
[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"
[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\\SysWow64\\imageres.dll,-102"
[HKEY_CLASSES_ROOT\emeditor.txt\shell]
[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]
[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\""
[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]
[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" /p \"%1\""
@X-Cubedの功績