web-dev-qa-db-ja.com

レジストリに保存されている既定のプログラムの関連付けはどこにありますか?

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

以前は、次の2つのキーを設定する必要がありました。

  • HKCR\.ext(デフォルト)=識別子
  • Identifier(default)= "File Description"
    • \ DefaultIcon(デフォルト)=一部のアイコン
    • \ Shell\Open\Command(デフォルト)=一部のエディター

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

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

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

17
Jim McKeeth

にあるはずです:

HKEY_LOCAL_MACHINE\SOFTWARE\ClassesおよびHKCU\SOFTWARE\Classes

そして、私はこれが最近変わったことを信じていません。

優先順位は、現在のユーザー、次にローカルマシンです(別名、クラスルート)。

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

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

20
soandos