助けて!拡張子で開くアプリケーションが変更できないよ!
WinXPを使用していてPhotoshop7以降をインストールしたことある人のなかでファイルの関連付けがPhotoshopにならず、Windowsペイントのままだって方いますかね?これのファイルの関連付けが正常に動く方法の情報求む。 |
という救援要請が来てたので、拡張子連動のレジストリについてネタにします
Windowsの拡張子連動は
HKEY_CLASSES_ROOT\.(拡張子名) というレジストリに拡張子とその連動名
HKEY_CLASSES_ROOT\(連動名) に連動するアプリケーションの詳細が入っています。
豆知識:
HKEY_CLASSES_ROOT は HKEY_LOCAL_MACHINE\SOFTWARE\Classes とリンクしている
ところが、ユーザーが手動でで設定したり、ユーザーごとの設定をするアプリケーションがあると、これよりも優先で呼ばれるレジストリがあります。
それが
HKEY_CURRENT_USER\Software\Classes です。
ここに拡張子連動の設定があると、こちらを優先で読み込んでしまうので、アプリケーションでいくら設定しても、反映されないという事があります。
アプリケーションが すべてのユーザーで使える場合は システム全体に影響する HKEY_CLASSES_ROOT を書き換え、インストールするユーザーだけが使えるようにインストールした場合、HKEY_CURRENT_USER\Software\Classes を書き換えるソフト というのもあります。
対策としては、 HKEY_CURRENT_USER\Software\Classesの中の該当拡張子を消す。または該当拡張子のファイルのプロパティから拡張子連携を編集して別のプログラムに定義づける(こちらはログイン中のユーザーの定義のみの書き換えになります)方法があります。
Comments