assoc
拡張機能のコマンドラインユーティリティを実行すると、レジストリに設定した拡張機能のファイルタイプ/説明が表示されます。しかし、[コントロールパネル]-> [既定のプログラム]-[関連付けの設定]に移動すると、別の説明と既定のプログラムが表示されます。
以前は、2つのキーを設定していました。
HKCR\.ext
(デフォルト)= 識別子- 識別子(デフォルト)= "ファイルの説明"
- \ DefaultIcon(デフォルト)= アイコン
- \ Shell \ Open \ Command(デフォルト)= エディター
しかし、今では他の場所にオーバーライドがあるように見えます。これは、デフォルトのプログラムリストに表示されます。
私の質問は、このオーバーライドされた関連付け情報はどこに保存されていますか?私はそれがレジストリにあると仮定していますが、私はそれがそうであると思っているキーにそれを見ません。これはVistaの時間枠で変更されたと思いますが、XPでも変更された可能性があります。
更新:多少の混乱があるため、次のテストを実行します。ファイルの名前を新しい拡張子に変更します。上記のレジストリキーに関連付けを作成します。次に、ファイルを右クリックして、[ プログラムから開く]を選択し、別のプログラムを選択します(チェックしてデフォルトにします)。次に、レジストリを確認します。変更されていませんが、ファイルは異なる説明、アイコン、デフォルトプログラムに関連付けられています。
HKEY_CLASSES_ROOT
地図であると信じています。これらはassoc
コマンドが返すものを保存します。ただし、コントロールパネルのデフォルトプログラムによって返されるオーバーライド情報は異なります。