c#:与文件扩展名关联的图标

在我的应用程序中,我创建扩展名为.mprj的文件。

如何为此类文件指定图标?

是否存在适当的.Net方法?

您需要修改注册表项。 有关如何处理c#的代码片段,请访问: http : //mel-green.com/2009/04/c-set-file-type-association/

我建议你使用InnoSetup来做到这一点。 您可以将程序与扩展程序关联以添加图标,并在用户单击具有此扩展名的文件时启动程序。 (例如,直接在程序中打开文件,如msoffice程序)。 当我们单击Excel文件时,Excel正在启动并打开此文件。 您可以使用InnoSetup轻松完成同样的操作,并使用main方法中的少量代码来解析参数。

使用Innosetup,您只需添加iIn [安装]部分

 ChangesAssociations=yes 

在[注册表]部分

 Root: HKCR; Subkey: ".mpl"; ValueType: string; ValueName: ""; ValueData: "{#MyAppName}"; Flags: uninsdeletevalue Root: HKCR; Subkey: "{#MyAppName}"; ValueType: string; ValueName: ""; ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey Root: HKCR; Subkey: "{#AppName}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0" Root: HKCR; Subkey: "{#AppName}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}.EXE"" ""%1""" 

此前消息中的更多信息