gpt4 book ai didi

c# - 将多个图标(Win32 资源)添加到 .NET 应用程序

转载 作者:可可西里 更新时间:2023-11-01 02:59:09 31 4
gpt4 key购买 nike

可以在项目属性中设置应用程序图标。如果这样做,exe 将具有此图标而不是默认图标。这个图标是 win32 资源,也可以这样访问:

change icon

我想为我的程序使用的文件类型设置特殊图标。要关联文件类型图标,我可以在注册表中指定它(“DefaultIcon”键中的“MyProg.exe,1”)。

那么如何向程序集中添加更多图标,以便我可以将其用于文件类型关联?

非常感谢

ps: 它是一个 WPF 应用程序 (.NET 4.0)

最佳答案

Windows 对托管资源一无所知,您需要将非托管 资源添加到您的可执行文件中。在 parapura 的屏幕截图中,您需要选择 Resource file 单选按钮。这需要一个 .res 文件,这是一个通过在 .rc 文件上运行 Windows SDK rc.exe 工具创建的二进制文件。 .rc 文件是一个包含资源语句的简单文本文件,类似于:

1 ICON "mainicon.ico"
2 ICON "alternative1.ico"
3 ICON "alternative2.ico"
1 24 "app.manifest"

请务必将此文件保存到您的项目文件夹中,不要使用 utf-8 编码,最好使用记事本。使用 Project + Add New Item,Application Manifest File 创建所需的 app.manifest 文件。使用 Project + Add Existing Item 将此 .rc 文件添加到您的项目中。双击它并确认您可以看到图标和 list 。右键单击顶部节点,添加资源,然后单击版本 + 新建。编辑版本信息,注意不再自动匹配AssemblyInfo.cs中的属性

您可以使用 Visual Studio 命令提示将 .rc 文件编译为 .res 文件:

rc /r something.rc

生成可在项目属性选项卡中使用的 .res 文件。这样做是一个预构建事件是可取的,但有点难以正确。这可能出错的方式有很多,祝你好运。

关于c# - 将多个图标(Win32 资源)添加到 .NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913018/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com