将多个图标文件编译到C#程序中

转载 2013年12月03日 18:47:25

一个exe或者dll文件可以包含多个图标资源,比如windows系统的user32.dll,win7下的C:\Windows\System32\imageres.dll文件,这些图标资源可以被应用于快捷方式和默认图标等,也可以作为一个打包的资源文件,这样你的程序就不用包含一大堆.ico文件了。

  在开始怎么创建之前,我们首先看看怎么查看exe或者dll里面的图标资源;

  如果你没有任何工具,可以随便打开一个快捷方式,选择“更改图标”,再选择“浏览”找到你要查看的资源文件,比如TTPlayer.exe,然后你就可以看到这个exe包含的可识别的图标了;

  使用Resource Hacker 工具。这个工具是一个windows资源文件查看与修改的工具,打开它,把你的文件拖进去,在“图标组”节点中就可以看到所有的图标:

  创建DLL资源文件

  OK,那怎么用Visual Studio创建资源文件呢?我曾经试过在C#项目的 Resource.resx中添加多个图标,但是编译之后用上面两种方法均无法查看到,后来只能转用C++项目来解决这个问题。

  打开VS,新建一个C++项目,“应用程序类型”选择 “DLL”;

  可以在“解决方案资源管理器”中看到一个“资源文件”目录,这个就是我们要添加图标文件的位置。将你的图标文件添加进来,注意最后编译出来的资源文件中,图标的顺序不是按照添加顺序排序的,而是按照这里显示的文件名排序,所以,你可以看到我添加了前缀“001”来达到排序目的;

  添加完之后,编译整个解决方案;

  打开解决方案myResource.sln文件所在目录下的Debug目录,里面的myResource.dll既是我们要的资源文件;

  打开项目文件myResource.vcproj文件所在目录下的Debug目录,里面有一个myResource.res,大小比上面的dll文件略小,这是一个“Win32资源文件”,里面也包含了图标文件,有什么用呢?继续往下看。

  将多个图标文件编译到C#程序中

  终于到主题了,我们最终的目的是要把资源都编译到exe文件中。有了上一步,就容易了

  打开你的项目,选择项目的“属性”页;

  找到“应用程序”,在“资源”组中,选中“资源文件”,点击旁边的浏览按钮找到上面我们编译出来的myResource.res文件(这是显示的是绝对路径,推荐改为相对路径),保存,编译项目;

  这个时候,查看你生成的exe文件,是不是有多个图标?并且第一个图标作为了exe的默认图标。

相关文章推荐

【C#】如何让多个或全部窗口使用同一个图标(icon),减小程序体积

想要修改窗口默认图标(icon)时,需要你手动选择一个.ico文件。当你有多个窗口时,尽管你是多次选择同一个ico文件,但编译程序时这个ico却会被多次集成到程序中去,导致程序体积不必要地增加。相信很...

c#给自己写的程序集设置图标、版本设置、添加其他工程中资源文件示例图

如何给自己写的程序添加和设置图标?先看下图: 添加图标后的快捷方式也有图标了.下面看图说明如何操作:打开工程属性 选择[应用程序]选项卡,在[图标和清单]中选择图标,这样在生成的最终可自行程序就会...

一个app,多个入口图标,activity-alias实现多程序入口并显示指定view完成

需求总是一个接一个。  missed call需要一个单独的图标,点击进入,而missed call 本身在linhone activity中。  思路,使用activity alias。  ...

Android下一个apk安装多个程序入口图标

Android中有的Ap功能比较复杂,为了方便用户使用,可以提供多个入口图标,每个入口图标对应一个功能。  如果想安装一个Apk在程序管理中出现多个图标,只要给相应的Activity增加inte...

一个app,多个入口图标,activity-alias实现多程序入口并显示指定view完成

需求总是一个接一个。  missed call需要一个单独的图标,点击进入,而missed call 本身在linhone activity中。  思路,使用activity alias。  ...

C++编译运行多个文件形式的程序

C++编译运行多个文件形式的程序 一.   头文件和源文件的区别: 1.   从技术层面上来说,*.h文件 *.c文件 *.cpp文件没什么区别,里面放的都是C++的源代码。 2.   但从开发习惯...

C# 实现任务栏图标程序

这是一个.Net平台上用C# 写的可以停放在任务栏上的图标程序,类似于SQL管理器、防病毒软件图标及OICQ图标等。  一、图标程序基本概念 我们这里所指的图标程序是类似于在Window...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)