将多个图标文件编译到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的默认图标。

Linux(Ubuntu)下进行C的多文件编写

Linux的Vim编译器下进行多文件的拆分和合并编译
  • u014294166
  • u014294166
  • 2016年07月20日 09:48
  • 1307

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

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

菜鸟攻略–C语言多文件编程初探(二):使用 gcc 手动编译多文件 C 程序

菜鸟攻略–C语言多文件编程初探(二):使用 gcc 手动编译多文件 C 程序四年前我发布了一篇菜鸟攻略–C语言多文件编程初探(一),没想到这篇文章成了我博客上阅读量最多,评论数也最多的文章。当时我读大...
  • shimachao
  • shimachao
  • 2016年11月24日 21:34
  • 3497

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

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

C#Webservice+微信小程序上传多个文件

  • 2017年12月25日 16:44
  • 380KB
  • 下载

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

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

C#将多个ppt文件转为预览图片,并在程序中直接打开所点击的ppt。

  • 2014年05月04日 19:06
  • 1.6MB
  • 下载

C#项目中关于多个程序集下App.config文件的问题

在项目中我们会经常用到App.config文件,有的是自动生成的,比如引用webservice、wcf服务时生成;也有手动建立的配置文件直接默认名就为app.config。 这些配置有的保存当前程序...
  • yysyangyangyangshan
  • yysyangyangyangshan
  • 2013年01月17日 15:29
  • 12450

利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe)

原文地址;https://www.cnblogs.com/1024zy/p/6371590.html 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL...
  • Metal1
  • Metal1
  • 2017年11月11日 20:03
  • 135

<为知更新>Android下一个apk安装多个程序入口图标

Android开发中,一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限、SDk版本,Activity、Service信息等。一般而言,这个文件中会有...
  • wh_19910525
  • wh_19910525
  • 2013年03月13日 13:21
  • 4398
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将多个图标文件编译到C#程序中
举报原因:
原因补充:

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