デフォルトプログラムの関連付けはレジストリのどこに保存されますか?[複製]


16

assoc拡張機能のコマンドラインユーティリティを実行すると、レジストリに設定した拡張機能のファイルタイプ/説明が表示されます。しかし、[コントロールパネル]-> [既定のプログラム]-[関連付けの設定]に移動すると、別の説明と既定のプログラムが表示されます。

以前は、2つのキーを設定していました。

  • HKCR\.ext(デフォルト)= 識別子
  • 識別子(デフォルト)= "ファイルの説明"
    • \ DefaultIcon(デフォルト)= アイコン
    • \ Shell \ Open \ Command(デフォルト)= エディター

しかし、今では他の場所にオーバーライドがあるように見えます。これは、デフォルトのプログラムリストに表示されます。

私の質問は、このオーバーライドされた関連付け情報はどこに保存されていますか?私はそれがレジストリにあると仮定していますが、私はそれがそうであると思っているキーにそれを見ません。これはVistaの時間枠で変更されたと思いますが、XPでも変更された可能性があります。

更新:多少の混乱があるため、次のテストを実行します。ファイルの名前を新しい拡張子に変更します。上記のレジストリキーに関連付けを作成します。次に、ファイルを右クリックして、[ プログラムから開く]を選択し、別のプログラムを選択します(チェックしてデフォルトにします)。次に、レジストリを確認します。変更されていませんが、ファイルは異なる説明、アイコン、デフォルトプログラムに関連付けられています。

回答:


20

である必要があります:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes そして HKCU\SOFTWARE\Classes

そして、これが最近変わったとは思わない。

優先順位は、現在のユーザー、ローカルマシンの順になります(エイリアスはクラスルートと考えられます)。

Explorerは、次の場所にある別のレジストリキーセットを使用します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\


私もそれがHKEY_CLASSES_ROOT地図であると信じています。これらはassocコマンドが返すものを保存します。ただし、コントロールパネルのデフォルトプログラムによって返されるオーバーライド情報は異なります。
ジムマッキース

クラスルートにエイリアスされることについての編集を見ました。ただし、コントロールパネルの[ 既定のプログラム]リストに表示される関連付けが他のどこかに上書きされているという点がありません。
ジム

それはHKCUの設定ではありませんか?
-soandos

いいえ、追加した更新を参照してください。自分でテストできます。
ジムマッキース

1
どういたしまして。以前の混乱についてすみません。
-soandos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.