看到企鹅,就会想到QQ软件图标,看到火狐狸,那多半就想起Firefox了。品牌的软件,
知名的软件,经常会打上自己的logo,写上自己的版本信息,或者版权信息。我们自己在
做小软件的时候,如果能写上自己的描述,打上自己的logo,看起来一定专业不少,穿鞋
的杀手,跟不穿鞋的杀手,价格是不一样的。
以前用C#和VB开发过软件,都是点点鼠标设置一下就有图标了,描述性文字也是打开对话
框填一下就好。自从阔别M$平台,在Linux世界里混了几年,再回到Windows平台时,已经
更倾向于vim+makefile了。安装了VS2008SP1 express版,才700多M,附带C++编译器和
完整的Win32 SDK。不得不赞美微软的大方,这么好的东西也长期免费了。
我选择了QT作为工具,从MFC和SDk的泥淖中解救了自己。
我不知道怎么查找QT的文档,但我知道怎么查源码,依稀记得assistant是带logo的,找到
qt\tools\assistant\tools\assistant 下的源码,看了看配置,是弄了个ico文件,放到某个地方
编辑rc文件,在rc文件里加上一行 myicon ICON xxx.ico, 然后 pro里加了个RC_FILE = ...
依护理画瓢自己也弄了个,图标是顺利的加进去了,然后是版本信息,qmake文档里提到的
VERSION变量可以设置版本,尝试了一下,又成功了,但是仅仅只能是版本号,我要的版权
信息等等仍然没有。没办法,找到 qt\src\gui 下的一个rc文件,研究了半天也没实验成功,就是
QT官方自带的程序里,也没有我想要的那种效果,在我的windows 7系统中,detail一项是空的,
拿到我老婆的Xp中一看,能找到一些信息,不过在平铺的时候,依然不显示那些描述性文字。
我想到用qmake生成vc的项目文件,然后用VC打开project,在VC里设置这些东西,遗憾的是,
也许是VS express版IDE不支持设置程序图标,也许是我不熟悉这个工具,总之我是没找得到。
怎么办呢,我可以肯定,问题出在资源文件上了。于是下载了resouce编辑工具,免费的reshacker,
打开qq的一对比,发现我的少了一个声明语言的block,大概是系统不知道resource的语言,所以不
显示它了。于是连蒙带猜的参考rc文件的语法加上了这个block,编译后一看,大功告成。
注明:DLL和EXE的处理,可能是不同的,资源文件中有一个标识文件类型的字段,具体可以查MSDN。
VERSIONINFO Resource这一个小节。
补充说明: Linux中程序的图标,有另一套做法,rc文件仅仅适用于Windows平台。Linux中的做法,可以
搜索 freedesktop desktop entry,照着freedesktop.org那个标准做,一般是没有问题的。

[ 此帖被sagaxu在2009-10-01 09:23重新编辑 ]