Visual Basic 9 (2008)Visual Basic 8 (2005)Windows VistaWindows 2003.NET 3.0Visual Studio 2005Windows 2000Windows XP.NET 2.0Windows FormsC# 2.0C# 3.0中级开发Visual StudioWindows.NETVisual BasicC#
将多个图标嵌入 .NET 可执行文件
简要介绍如何将多个图标(和原生资源)嵌入到 .NET 可执行文件中。
引言
我注意到在互联网上散布的各个(和许多)地方,都有关于如何将多个图标嵌入到 .NET 可执行文件中的请求,这些图标没有嵌入在 .NET 资源(resx 文件)中,但可以被 Windows 资源管理器等访问。
在关于与手头主题无关的页面的偶然评论后,我意识到此功能已内置于 Visual Studio 2005 中。本文概述了将多个图标编译到可执行文件中而无需诉诸命令行所需的步骤。
流程
步骤 1:资源文件
由于稍后将变得显而易见的原因,Visual Studio 要求将图标编译到资源文件中。 这取决于您如何生成它,但我将使用 VS2005 的设计器。
- 从“文件 | 新建”对话框中创建新的“原生资源模板”。
- 在设计器中的任何地方右键单击,然后选择“添加资源...”以到达以下对话框
- 此时,您可以导入任何要嵌入的资源,但我们将导入一些图标,因此单击“导入...”并选择图标文件。
- 现在,我们必须将资源模板保存为 32 位资源文件。 这是通过“文件 | 另存为...”完成的,确保在“另存为类型”框中选择了“32 位资源文件 (*.res)”。 将其保存在某个逻辑位置,例如您的项目目录中。
如果需要,您可以在“属性”窗口中更改与资源关联的 ID。
步骤 2:编译到可执行文件
Visual Studio 2005 提供了两种为 .NET 可执行文件提供图标的方法。 一种是通过“属性”页面中的“应用程序图标”属性。 第二种是通过资源文件,我们使用这种方法。
- 打开您的项目“属性”页面的“应用程序”选项卡。
- 在“资源”组框中,将选择更改为指向资源文件,然后浏览您刚刚保存的资源文件。
步骤 3:编译
完成上一步后,Visual Studio 现在会在编译时将 Win32 资源嵌入到可执行文件中。 要查看更改,只需重新编译应用程序即可。
您可以通过上面的屏幕截图看到,多个图标已(原生)嵌入到可执行文件中。 例如,这很有用,如果您的应用程序注册了一种文件类型,那么这些文件可以具有与其关联的不同图标,而不是与可执行文件相同的图标。 或者您不必随程序分发图标文件,它可以简单地被嵌入。
摘要
希望以上内容已经足够清楚地解释了如何将多个图标嵌入到 .NET 可执行文件中,而无需诉诸命令行。 如果您对改进/评论有任何建议,请随时发布,我可能在此过程中犯了一些拼写错误(没有 Intellisense)。