0

我有一个使用 VS2005 的 C# 项目。基本上我有两个图标,一个用于应用程序,一个用于与应用程序关联的文件。

我已将这些文件与应用程序相关联,并且我知道如何在注册表中设置它们的图标,但我只能将它们设置为应用程序图标,因为它似乎是唯一的外部资源。

我尝试将图标放在资源文件(.resx)中,或者作为单独的文件(.ico)在编译时编译到 exe 中,但都不起作用。

为了说明我的意思,我构建了应用程序并使用 Resource Hacker 打开它,您会注意到两个图标中只有一个,使用一个图标和一个图标组。

http://img442.imageshack.us/img442/3189/resourcesx.jpg http://img442.imageshack.us/img442/3189/resourcesx.jpg

4

3 回答 3

0

我相信您可以通过直接调用 C# 编译器来做到这一点。这个 MSDN 主题似乎包含有用的信息。

使用 csc.exe 处理资源

于 2010-04-27T11:06:54.043 回答
0

最后,我只是将 .ico 存储在 .exe 中嵌入的资源文件中,然后将其提取到其 AppData 文件夹以供 Explorer 使用。

于 2010-05-02T00:32:19.617 回答
0

我不认为这是可以做到的。您可能不得不求助于 C++ 项目,您可以在其中以 shell 可以识别的方式嵌入图标。请注意,这并不意味着 dll 必须包含其他任何内容;) 但我认为 .NET 程序集不能包含与 shell 兼容的资源。

于 2010-04-27T10:57:18.253 回答