Windows 资源文件(.rc文件)小记
来源:互联网 发布:js获取svg path 编辑:程序博客网 时间:2024/06/06 04:06
在windows下使用Qt时,通常会用到Windows的资源文件(给exe设置图标和版本信息等),比如命名为 main.rc
#include "winver.h"IDI_ICON1 ICON "main.ico"IDI_ICON2 ICON "main2.ico"VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 FILEFLAGS 0x0L FILEFLAGSMASK 0x3fL FILEOS VOS_NT_WINDOWS32 FILETYPE VFT_APP FILESUBTYPE VFT2_UNKNOWNBEGIN BLOCK "StringFileInfo" BEGIN BLOCK "000004b0" BEGIN VALUE "CompanyName", "Hermes Microvision Inc" VALUE "FileDescription", "HMI Image EZ USB(2rd)" VALUE "FileVersion", "1.0.0.0" VALUE "LegalCopyright", "Copyright (C) 2009-2011 Hermes Microvision Inc" VALUE "InternalName", "hmiezusb" VALUE "OriginalFilename", "hmiezusb" VALUE "ProductName", "HMI Image EZ USB(2rd)" VALUE "ProductVersion", "1.0.0.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x0, 1200 ENDEND
然后,在 .pro 文件内,添加
win32:RC_FILE = main.rc
由于是Windows平台相关的东西,Qt manual 对于 .rc 几乎没有任何介绍(只在 Setting the Application Icon 一文中简单用到一点点)。
图标
见 MSDN ICON Resource一文:
格式:
nameID ICON filename
例子:
IDI_ICON1 ICON "main.ico"IDI_ICON2 ICON "main2.ico"
其中:
nameID
16位无符号整数 或 唯一的名字
filename
如果不在工作目录下需要使用完整路径,需要使用引号扩住
VERSIONINFO
见MSDN VERSIONINFO Resource 和 VS_FIXEDFILEINFO Structure
格式:
versionID VERSIONINFO fixed-infoBEGINblock-statement. . .END
其中,fixed-info 信息:
字段
实例值
FILEVERSION
1,0,0,0
文件版本,4个16位整数,(其实是2个32位整数)
PRODUCTVERSION
1,0,0,0
产品版本,同上
FILEFLAGS
0x0L
文件属性
FILEFLAGSMASK
0x0L
属性的掩模
FILEOS
VOS_NT_WINDOWS32
用于何种操作系统
FILETYPE
VFT_APP
文件一般类型(对于dll,类型为 VFT_DLL)
FILESUBTYPE
VFT2_UNKNOWN
细分的类型
对应的结构体:
typedef struct tagVS_FIXEDFILEINFO { DWORD dwSignature; DWORD dwStrucVersion; DWORD dwFileVersionMS; DWORD dwFileVersionLS; DWORD dwProductVersionMS; DWORD dwProductVersionLS; DWORD dwFileFlagsMask; DWORD dwFileFlags; DWORD dwFileOS; DWORD dwFileType; DWORD dwFileSubtype; DWORD dwFileDateMS; DWORD dwFileDateLS;} VS_FIXEDFILEINFO;
fix 字段后面是可变字段:
0个或多个 StringFileInfo 结构
1 个或多个 StringTable 结构
0个或多个 VarFileInfo 结构
看不太懂,暂且放到这儿,恩。
参考
http://msdn.microsoft.com/en-us/library/aa381058%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/ms646997%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa381018%28v=VS.85%29.aspx
- Windows 资源文件(.rc文件)小记
- .rc Windows资源文件定义和使用
- rc资源文件
- 资源编译器 (.rc) 文件
- RC 资源文件
- 资源编译器 (.rc) 文件
- 资源脚本文件(*.rc)
- Windows 资源文件(.rc文件)--Qt程序添加图标
- Qt之添加Windows资源文件(.rc文件)
- Qt之添加Windows资源文件(.rc文件)
- windows资源文件(.rc)是如何变成窗口控件的
- xx.rc windows资源文件的定义和使用
- windows资源文件(.rc)是如何变成窗口控件的
- rc资源文件的格式
- VC----资源文件RC && RES
- rc资源文件重写问题
- rc文件 资源读取路径
- rc资源文件的宏定义
- xampp error: XAMPP is currently only availably as 32 bit application. Please use a 32 bit compatibil
- 设置Cloudera CDH3源镜像(Redhat)
- 练习排序
- Ubuntu10.10修改关闭窗口按钮位置
- 2-SAT——4.0(poj2723 Get Luffy Out)
- Windows 资源文件(.rc文件)小记
- java使用LinkedList制作一个栈和一个队列
- Ext.decode()和Ext.encode()
- linux 查看进程信息
- java 利用 LinkedList类实现 数据结构 栈.......
- mysql远程访问授权
- HttpResponse.ApplyAppPathModifier 方法
- Scala Programming
- svn合并代码遇到“Attempt to add tree conflict that already exists”?——尝试升级吧