1

2番目の.icoファイルを追加して、アプリケーションに関連付けられているファイルのアイコンとして使用しようとしています。コードの一部:

[Registry]
Root: HKCR; Subkey: ".tc65"; ValueType: string; ValueName: ""; ValueData: {#DispatcherName};   Flags: uninsdeletevalue;
Root: HKCR; Subkey: {#DispatcherName}; ValueType: string; ValueName: ""; ValueData: {#MyAppName}; Flags: uninsdeletekey;
Root: HKCR; Subkey: "{#DispatcherName}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},1" 
Root: HKCR; Subkey: "{#DispatcherName}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1""" 

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

私が理解したように、この行

Root: HKCR; Subkey: "{#DispatcherName}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},1"

関連ファイルに2番目のアイコンを使用するように言います。既知のパスでこのアイコンを作成するにはどうすればよいですか?[アイコン]セクションでいくつかのバリエーションを試しましたが、成功しませんでした。

たぶん私はそれをコンパイルする前にexeにアイコンを追加する必要がありますか?

4

1 に答える 1

2

この[Icons]セクションは、ショートカットを作成するためのものです。ファイルの関連付けとは何の関係もありません。

DefaultIconアソシエーションに使用するアイコンを設定するには、アイコンへのパスへのキーを設定する必要があります。.icoこれは、エントリを介してインストールされた緩いファイルか[Files]、実行可能ファイルにコンパイルされた(推奨される)アイコンリソースのいずれかです。

質問にある値は、実行可能ファイルにコンパイルされた2番目のアイコンリソースを使用するようにWindowsに指示します。

設定も有効にすることを忘れないでくださいChangesAssociations

于 2012-12-27T11:51:45.660 に答える