代码之家  ›  专栏  ›  技术社区  ›  User2400

如何嵌入资源以便可以访问图标?

  •  0
  • User2400  · 技术社区  · 16 年前

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

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

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

    为了说明我的意思,我已经构建了这个应用程序并用资源黑客打开了它,你会注意到只有两个图标中的一个,使用一个图标和一个图标组。

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

    3 回复  |  直到 13 年前
        1
  •  0
  •   TomTom    16 年前

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

        2
  •  0
  •   João Angelo    16 年前

    我相信您可以通过直接调用C编译器来实现这一点。此msdn主题似乎包含有用的信息。

    Working with Resources Using csc.exe

        3
  •  0
  •   User2400    16 年前

    最后,我将.ico存储在嵌入.exe的资源文件中,然后将其提取到appdata文件夹中供资源管理器使用。