VC++ 获取exe或者dll版本信息
#include <iostream>
#include <atlstr.h>
#pragma comment(lib,"version.lib") CString GetFileVersion(CString strExePath)
{
DWORD dwVerInfoSize = ;
DWORD dwVerHnd = ;
char *pBuf;
CString asVer;
VS_FIXEDFILEINFO *pVsInfo;
unsigned int iFileInfoSize = sizeof(VS_FIXEDFILEINFO);
dwVerInfoSize = GetFileVersionInfoSize(strExePath, NULL);//将版本信息资源读入缓冲区 if (dwVerInfoSize)
{
pBuf = new char[dwVerInfoSize];
if (GetFileVersionInfo(strExePath, dwVerHnd, dwVerInfoSize, pBuf))//获得生成文件使用的代码页及文件版本
{
struct LANGANDCODEPAGE
{
WORD wLanguage;
WORD wCodePage;
}*lpTranslate; if (VerQueryValue(pBuf, _T("\\VarFileInfo\\Translation"), (void**)&lpTranslate, &iFileInfoSize))
{
unsigned int version_len = ;
if (VerQueryValue(pBuf, _T("\\"), (void**)&pVsInfo, &version_len))
{
asVer.Format(_T("%d.%d.%d.%d"), HIWORD(pVsInfo->dwFileVersionMS),
LOWORD(pVsInfo->dwFileVersionMS),
HIWORD(pVsInfo->dwFileVersionLS),
LOWORD(pVsInfo->dwFileVersionLS));
}
}
}
delete pBuf;
}
return asVer;
} int main()
{
//获取工作路径
TCHAR szModulePath[MAX_PATH * ];
::GetModuleFileName(NULL, szModulePath, _countof(szModulePath) - );
PathRemoveFileSpec(szModulePath);
CString strExe = szModulePath; strExe += L"\\My.dll"; CString strver = GetFileVersion(strExe); return ;
}
VC++ 获取exe或者dll版本信息的更多相关文章
- [VC]获取本地程序的版本信息信息
CString CQwerApp::IS_GetAppVersion(char *AppName) { ////需要加上version.lib在link里 CString AppVersion; // ...
- 获取DNS服务器的版本信息
1 如何获取DNS服务器的版本信息 向某个DNS服务器发送下面的请求即可获得版本信息 dig @115.124.17.156 version.bind chaos txt 它返回的信息如下: ; &l ...
- js获取浏览器类型和版本信息
bro () { let broName = 'Runing' let strStart = 0 let strStop = 0 let temp = '' let userAgent = windo ...
- Android 获取包名,版本信息
Android 获取包名,版本信息及VersionName名称 <span style="font-size: 14px;">private String ge ...
- VC++ 获取windows系统的版本类型
vc中获取windows版本信息,一般是调用GetVersionEx 这个API函数来获取的,这个API需要OSVERSIONINFOEX 这个结构体作为参数,OSVERSIONINFOEX 的对应的 ...
- 给Qt生成的exe执行程序添加版本信息
Windows下的.exe可执行文件的属性中有版本这个信息,含有版本信息.描述.版权等.对于qt程序,要含有这样的信息,那就请如下操作:新建<工程名>.rc文件,在rc文件填入下的信息: ...
- C# 获取exe、dll中的图标,支持获取256x256分辨率
在网上找过许多文章,都没有成功获取过大图标,只能获取最大32x32.最后自己尝试了相关的windows api,终于找到一个可用的. 主要用到的C++的PrivateExtractIcons函数,具体 ...
- 获取exe和dll里面的资源
有时候需要仿照另一个程序实现一些对话框,比较笨的办法是打开那个程序,照着样子自己在VC里面画啊画.这样的效率实在有点低. 现在有很多工具可以从exe和dll里面取出图片.图片.字符串.对话框等资源.比 ...
- python如何获取某模块的版本信息
1)module.__version__ 2)用dir(module)查看有没有版本信息 3)help(module)
随机推荐
- 突然pom.xml中引用的jar包出错。
在你的本地仓库中,用window搜索包含.lastupdated的文件,全部删除!然后再去项目上maven ------update project
- LeetCode168.Excel表列名称
给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> ...
- java 中多线程和锁的使用以及获取多线程执行结果
多线程一:原生的写法 关键词 implements 实现 Runnable 类 run() 方法 注意点 : 创建类的实例 InterfaceController inter=new Int ...
- github常见错误提示之一
如果输入$ Git remote add origin git@github.com:Jomsou(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote o ...
- 未能正确加载“EditorPackage”包(转)
打开vs2012加载项目的时候报如下的错误: 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包.此问题可能是由配置 ...
- hdu4670 树分治
这题说的给了一颗树 然后树上有一些整数值,分别由他给的那30个素数组成,有多少条路径的路径上的点的乘积为立方数, 把每个数分解成相应的素数模3后的值,然后压缩为一个3进制的数 然后进行树的分支 #in ...
- timestamp与timedelta,管理信息系统概念与基础
1.将字符串‘2017年10月9日星期一9时10分0秒 UTC+8:00’转换为timestamp. 2.100天前是几号? 今年还有多少天? #timestamp与timedelta from ...
- Web API 跨域请求
分布式技术在项目中会频繁用到,以前接触过WebService(可跨平台).WCF(功能强大,配置繁琐), 最近由于上层业务调整,将原来的MVC项目一分为三,将数据层提取出来,用API去访问.然后 ...
- win7 64位 python启动报错:无法启动此程序,因为计算机中丢失api-ms-win-crt-process-l1-1-0.dll
安装python3.7,安装成功后,在cmd窗口输入python检查是否安装成功,报错:无法启动此程序,因为计算机中丢失api-ms-win-crt-process-l1-1-0.dll 在网上查询了 ...
- jsp无法访问
一直无法访问jsp: 由于Spring boot使用的内嵌的tomcat,而内嵌的tamcat是不支持jsp页面的,所有需要导入额外的包才能解决. <!-- 解决jsp无法访问 --> & ...