为C/C++控制台程序添加图标和版权信息

默认生成的控制台程序都没有图标,显示系统默认的丑丑的框框。于是上网搜索了下为程序添加图标。 可是搜出来的大都是VC++6.0的东西,我用的是C::B,所以那种直接从菜单就可以添加资源文件的方法就不适合了。 好在找到了另一种方法,其实就是手动编辑资源文件~ ———————————————————昏割线——————————————— 当初刚接触IDE时连怎么新建工程都不知道,所以我还是从第一步开始吧,新建工程: 文件-新建-工程(File-New-Project),或从起始页点击创建新项目。
1、 ConsoleApplication 选择ConsoleApplication(控制台程序)
2、 ProjectName 一路Next,输入工程(项目)名称路径
3、 Main.cpp 双击项目里main.cpp可以看到已有"hello world"的代码。
这里演示的图标,就不修改代码了。
4、 New.Rc_File 从菜单选择New-File...选择空文件。
并把debug那两个框打勾,否则这个文件不参与编译的。。。 打开.rc文件(它可以任意文件名,但需要rc为后缀),输入
MAINICON ICON "a.ico"
就可以啦!其中a.ico是与工程在同一目录的已有图标。当然也可以使用绝对路径。 ————————————————昏割线又来啦——————————————— 可是,这只是图标哦。 你有木有发现人家的应用程序都有文件属性等详细说明啊,比如:
BingWallpaper
好吧,这个上网搜了好久死活没答案,最后在百度知道上提问,有VS的方法:C++设置生成的控制台程序的文件属性 不过最后在C::B论坛上搜索到了一篇手动编写.rc文件的方法:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//< @see http://forums.codeblocks.org/index.php/topic,11128.msg76141.html#msg76141
#define VOS_NT_WINDOWS32    0x00040004L
#define VFT_APP             0x00000001L

//this will set your .exe icon
A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "QQCml.ico"

//include version information in .exe, modify these values to match your needs
1 VERSIONINFO
FILEVERSION 0,1,1,2         //文件版本
PRODUCTVERSION 0,1,1,1
FILETYPE VFT_APP
{
  BLOCK "StringFileInfo"
	 {
		 BLOCK "040904E4"
		 {
			 VALUE "CompanyName", "youthlin.com"
//			 VALUE "FileVersion", "1.1"
			 VALUE "FileDescription", "模拟QQ账号管理"    //文件说明
//			 VALUE "InternalName", "-"
			 VALUE "LegalCopyright", "Copyright(C)Youth.霖2014 GNU/GPL"  //版权说明
			 VALUE "LegalTrademarks", "http://youthlin.com/ @Youth.霖"   //合法商标
			 VALUE "OriginalFilename", "QQCml.exe"                       //原始文件名
			 VALUE "ProductName", "C++课程设计2014-模拟QQ账号管理"       //产品名称
			 VALUE "ProductVersion", "2.0"                               //产品版本
		 }
	 }
  BLOCK "VarFileInfo"
	 {
//		 VALUE "Translation", 0x0409, 1252 //language codes
		 VALUE "Translation", 0x0804, 2052 ///< @see http://www.science.co.il/Language/Locale-codes.asp
	 }
}
//30+430+430+1350+130+50+30=2450行
源链接:Topic: How to add icon and version information to .exe?
MyIconAndCopyRight 编译后的样子

Reader Echoes

24 comments

  • #1101侯雨辰博客
    那么问题来了,首先必须得会c
  • #1100ysbinang
    终于见用codeblocks的人了 可爱 可爱 可爱
    • #1102shawn
      回复 @ysbinang同在用,之前网上不是说这个是免费的挺好的云云?实际上,还是用vs的人多啊,现在才发现这个很小众。
    • #1103Youth.霖
      回复 @shawnVS是一个很专业很强大的IDE,所以用VS的人肯定很多啦。 得意 不过C::B是开源的,又比较轻便,还跨平台,因此也是一个很好的选择。 可爱 (比如知识需要写些小型的C/C++,就没必要装庞大的VS啦 偷笑
  • #1099老墨
    学到不少东西,值得赞一个!
  • #1098iJustPlay
    哈哈,一看就是Code::Blocks喽
  • #1097文字控吧
    很是不错的哈,。感谢分享。。
  • #1096集成灶
    如此这般详细 这才叫原创
  • #1095幼儿园课桌椅
    略显残暴
  • #1094boke123
    太厉害了,我们当年只会用C或C++做课堂作业或一些简单的东西而已。
  • #1093X草元
    哦,这些内容是通过代码写在编译前的呀。
  • #1092an9
    技术活,仅支持。
  • #1091动漫资讯
    过来看看哈,虽然自己不会弄
  • #1086Tammy是大叔
    你博客昨天挂了 BTW,不要依赖IDE
  • #1085恋羽
    VS里面有这些东西
  • #1084屠龙
    工程,控制台 表示没有接触过
  • #1083
    高端语言啊
  • #1082微历史
    挺基础的
  • #1081圆月博客
    不错的方法,很详细
  • #1080c
    沙发~~ 完全不懂C…… 坐等明天考试……

表情

评论提交后需经审核才会显示。