从rc文件访问字符串
有.rc文件,其中包含用于exe文件详细信息的版本,说明等。
如何获得在代码内使用的值?例如,要获取ProductName。
IDI_ICON1 ICON DISCARDABLE "abc-logo.ico" #if defined(UNDER_CE)
#include <winbase.h>
#else
#include <winver.h>
#endif VS_VERSION_INFO VERSIONINFO
FILEVERSION , , ,
PRODUCTVERSION , , ,
FILEFLAGSMASK 0x3fL
FILEFLAGS
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN BEGIN
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0404,
END
BLOCK "StringFileInfo"
BEGIN
BLOCK "040404b0"
BEGIN
VALUE "CompanyName", "Company A\0"
VALUE "FileDescription", "Software A\0"
VALUE "FileVersion", "1.0.0.0\0"
VALUE "InternalName", "SoftwareX\0"
VALUE "LegalCopyright", "Copyright (C) Software Inc. All Rights Reserved\0"
VALUE "OriginalFilename", "SoftwareA.exe\0"
VALUE "ProductName", "Software A\0"
VALUE "ProductVersion", "1.1.0.0\0"
END
END
END
需要使用GetFileVersionInfo()和VerQueryValue()函数
例如:
TCHAR FileName[MAX_PATH];
GetModuleFileName(NULL, FileName, MAX_PATH); DWORD Handle;
DWORD Size = GetFileVersionInfoSize(FileName, &Handle); std::vector<BYTE> Data(Size);
GetFileVersionInfo(FileName, Handle, Size, Data.data()); LPTSTR ProductName;
UINT Len;
VerQueryValue(Data.data(), TEXT("\\StringFileInfo\\040404b0\\ProductName"), (LPVOID*) &ProductName, &Len); // use ProductName up to Len chars as needed... LPTSTR LegalCopyright;
VerQueryValue(Data.data(), TEXT("\\StringFileInfo\\040404b0\\LegalCopyright"), (LPVOID*) &LegalCopyright, &Len); // use LegalCopyright up to Len chars as needed...
从rc文件访问字符串的更多相关文章
- Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块
Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块 目录 Pycharm使用技巧( ...
- Qt之添加Windows资源文件(.rc文件)
简述 在Windows下使用Qt时,通常会用到Windows的资源文件 - 为exe设置信息,其中包括:文件说明.产品名称.产品版本.版权等信息... 由于是Windows平台相关的东西,Qt助手中对 ...
- Visual Studio下,打开资源视图rc文件,提示在另一个编辑器中打开
在网上搜索关键字: rc文件 提示在另一个编辑器中打开 很多地方的回答都是说: rc文件以代码形式打开了,只要关掉后再打开就可以了. 但是,很多时候,当关闭掉RC的代码文件以后,发现VS的RC文件 ...
- init进程解析rc文件的相关函数分析
init进程的源码文件位于system/core/init,其中解析rc文件语法的代码放在五个函数中, init_parse_config_file (init_parser.c), read_fil ...
- Qt之Windows资源文件(.rc文件)
简述 在Windows下使用Qt时,通常会用到Windows的资源文件 - 为exe设置信息,其中包括:文件说明.产品名称.产品版本.版权等信息... 由于是Windows平台相关的东西,Qt助手中对 ...
- Qt之生成Window资源文件(.rc 文件)
简述 qmake 可以随意地自动生成一个适当填充的 Windows 资源文件.本节主要讲解如何用 qmake 处理一个 Windows 资源文件,并将其链接到一个可执行应用程序(EXE)或动态链接库( ...
- Android init.rc文件浅析
Android init.rc文件浅析 分类: Android2012-04-13 18:00 13149人阅读 评论(2) 收藏 举报 androidservicepathactionsocketc ...
- linux文件访问权限(像rw-r--rw-是什么意思)
Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该目录 可用 ls -l 查看文件 像上图的-rw-r--rw- ...
- MFC关于.rc文件 .rc2文件
.rc文件和.rc2文件 c和rc2都是资源文件,包含了应用程序中用到的所有的资源. 两者不同在于:rc文件中的资源可以直接在VC集成环境中以可视化的方法进行编辑和修改; 而rc2中的资源不能在VC的 ...
随机推荐
- C#编程 线程,任务和同步(2) 开启线程
创建线程的几种方法: 1 异步委托 创建线程的一种简单方式是定义一个委托,并异步调用它. 委托是方法的类型安全的引用.Delegate类 还支持异步地调用方法.在后台,Delegate类会创建一个执行 ...
- script学习,如何用linux监控你的同事?
环境:CentOS7 一.为什么要学习script命令 当你在终端或控制台上工作时,你想记录下自己做了些什么吗?当你跟一些Linux管理员同时在系统上干活,你想知道别人干了什么吗?当你让别人远程到你的 ...
- 【POJ - 3279】Fliptile(经典翻转问题)
-->Fliptile 直接中文翻译:Descriptions: 给你一个01矩阵,矩阵大小为M x N.(1 <= M , N <= 15)每次操作选择一个格子,使得该格子与上下左 ...
- WIN10远程协助无法控制的解决方法
这个问题比较常见小编整理的解决方法如下: 方法一:用QQ远程协助对方电脑,需要QQ告诉对方右键单击计算机(这台电脑)点管理打开计算机管理界面选择本地用户和组,再选择用户,右侧会出现所有的本地用户,包括 ...
- python基础之数据类型转换
方法转换:str -->list str.split() list -->str ''.join(list)强制转换:str -->list list(str) str --> ...
- Sublime Text 3 注册激活码
Sublime Text 3 注册激活码 ----- BEGIN LICENSE ----- sgbteam Single User License EA7E-1153259 8891CBB9 F15 ...
- <<C++ Primer>> 第 7 章 类
术语表 第 7 章 类 抽象数据类型(abstract data type): 封装(隐藏)了实现细节的数据结构. 访问说明符(access specifier): 包括关键字 public 和 ...
- leetcode难题
4 寻找两个有序数组的中位数 35.9% 困难 10 正则表达式匹配 24.6% 困难 23 合并K个排序链表 47.4% 困难 25 K ...
- 部署k8s集群之环境搭建和etcd单节点安装
环境搭建以及etcd 单节点安装过程 安装之前的环境搭建 在进行k8s安装之前先把虚拟机准备好,这里准备的是三台虚拟机 主机名 ip地址 角色 master 172.16.163.131 master ...
- 两种表复制语句(SQL)
select into select语句和select into from语句 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field ...