分类
代码

为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文件的方法:

//< @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", "https://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
编译后的样子


“为C/C++控制台程序添加图标和版权信息”上的24条回复

同在用,之前网上不是说这个是免费的挺好的云云?实际上,还是用vs的人多啊,现在才发现这个很小众。

VS是一个很专业很强大的IDE,所以用VS的人肯定很多啦。 [/得意]
不过C::B是开源的,又比较轻便,还跨平台,因此也是一个很好的选择。 [/可爱]
(比如知识需要写些小型的C/C++,就没必要装庞大的VS啦 [/偷笑]

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

[/鼓掌] [/难过] [/调皮] [/白眼] [/疑问] [/流泪] [/流汗] [/撇嘴] [/抠鼻] [/惊讶] [/微笑] [/得意] [/大兵] [/坏笑] [/呲牙] [/吓到] [/可爱] [/发怒] [/发呆] [/偷笑] [/亲亲]