小生の関連付けの方針

Windowsの関連付けってどうやるのが正解なんだろう? なんかバージョンが進むにつれ、どんどん仕組みが複雑化してるよな。最初はassocftypeだけの単純な構造だったのにね。

自分が知っている限り、関連付けに関連があるキーは以下の4つ。

  • HKEY_CLASSES_ROOT
    • こいつは以下の2つのキーの合成
      • HKCU\Software\Classes
      • HKLM\Software\Classes
  • 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 だけ上書きするとかできる。

③ 関連付けの完全自動化は諦める。
エクスプローラーはユーザーに必ず一度はお伺いを立てるような仕組みになってます。
レジストリを書き換えて、はい完了、ということにはできない。