小生の関連付けの方針
Windowsの関連付けってどうやるのが正解なんだろう? なんかバージョンが進むにつれ、どんどん仕組みが複雑化してるよな。最初はassoc
とftype
だけの単純な構造だったのにね。
自分が知っている限り、関連付けに関連があるキーは以下の4つ。
- HKEY_CLASSES_ROOT
- こいつは以下の2つのキーの合成
- HKCU\Software\Classes
- HKLM\Software\Classes
- こいつは以下の2つのキーの合成
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
- HKCU\SOFTWARE\Microsoft\Windows\Roaming\OpenWith\FileExts
( HKCU := HKEY_CURRENT_USER, HKLM := HKEY_LOCAL_MACHINE )
で、色々調べたんだけど、以下の方法に落ち着いた。
① まともそうなアプリは、その関連付け機能を利用する。
② HKCU\Software\Classesの方だけいじる。
HKLMの必要な部分だけをHKCU側で上書きさせるようにする。
例えば edit\command だけ上書きするとかできる。
③ 関連付けの完全自動化は諦める。
エクスプローラーはユーザーに必ず一度はお伺いを立てるような仕組みになってます。
レジストリを書き換えて、はい完了、ということにはできない。