C++ 获取文件版本号的代码
2018-01-26 15:15
483 查看
// Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <Windows.h>
#include <tchar.h>
#include <string>
#include <iostream>
#pragma comment(lib,"version.lib")
using namespace std;
string GetFileVersion(PCSTR filename)
{
string asVer = "";
VS_FIXEDFILEINFO *pVsInfo;
unsigned int iFileInfoSize = sizeof(VS_FIXEDFILEINFO);
int iVerInfoSize = GetFileVersionInfoSizeA(filename, NULL);
if(iVerInfoSize != 0)
{
char *pBuf = NULL;
while(!pBuf)
{
pBuf = new char[iVerInfoSize];
}
if(GetFileVersionInfoA(filename, 0, iVerInfoSize, pBuf))
{
if(VerQueryValueA(pBuf, "\\", (void **)&pVsInfo, &iFileInfoSize))
{
sprintf(pBuf, "%d.%d.%d.%d", HIWORD(pVsInfo->dwFileVersionMS), LOWORD(pVsInfo->dwFileVersionMS), HIWORD(pVsInfo->dwFileVersionLS), LOWORD(pVsInfo->dwFileVersionLS));
asVer = pBuf;
}
}
delete pBuf;
}
return asVer;
}
int _tmain(int argc, _TCHAR* argv[])
{
string strFilePath = "C:\\Users\\jhon am\\Desktop\\Backupper.exe";
string version = GetFileVersion(strFilePath.c_str());
getchar();
return 0;
}
//
#include "stdafx.h"
#include <Windows.h>
#include <tchar.h>
#include <string>
#include <iostream>
#pragma comment(lib,"version.lib")
using namespace std;
string GetFileVersion(PCSTR filename)
{
string asVer = "";
VS_FIXEDFILEINFO *pVsInfo;
unsigned int iFileInfoSize = sizeof(VS_FIXEDFILEINFO);
int iVerInfoSize = GetFileVersionInfoSizeA(filename, NULL);
if(iVerInfoSize != 0)
{
char *pBuf = NULL;
while(!pBuf)
{
pBuf = new char[iVerInfoSize];
}
if(GetFileVersionInfoA(filename, 0, iVerInfoSize, pBuf))
{
if(VerQueryValueA(pBuf, "\\", (void **)&pVsInfo, &iFileInfoSize))
{
sprintf(pBuf, "%d.%d.%d.%d", HIWORD(pVsInfo->dwFileVersionMS), LOWORD(pVsInfo->dwFileVersionMS), HIWORD(pVsInfo->dwFileVersionLS), LOWORD(pVsInfo->dwFileVersionLS));
asVer = pBuf;
}
}
delete pBuf;
}
return asVer;
}
int _tmain(int argc, _TCHAR* argv[])
{
string strFilePath = "C:\\Users\\jhon am\\Desktop\\Backupper.exe";
string version = GetFileVersion(strFilePath.c_str());
getchar();
return 0;
}
相关文章推荐
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part07 nms, 获取符合条件的boxes
- vc代码获取文件版本信息
- C++获取文件版本信息
- C++ 删除、重命名文件 、获取当前目录所有文件代码
- C++ 获取文件版本
- VS2010 C++ 通过CLR获取文件版本信息
- C#,C++修改vs文件模板,添加自定义代码版权版本信息
- 从URL获取文件保存到本地的代码
- 获取文件大小,修改日期,版本
- FileInfo 0.0.0004--masm32写的获取文件属性、版本、时间、MD5值等信息的小程序
- ini文件纯C++读写代码
- 从URL获取文件保存到本地的代码
- FileInfo 0.0.0005--masm32写的获取文件属性、版本、时间、MD5、SHA1 等信息的小程序
- C++获取目录下所有文件列表函数
- PE头的应用---插入代码到EXE或DLL文件中(DELPHI版本)
- 用C++代码建立和压缩ACCESS数据库文件
- 用C++代码建立和压缩ACCESS数据库文件
- 纯 C++ 代码创建并保存 EXCEL 文件
- FileInfo 0.0.0003--masm32写的获取文件属性、版本、时间、MD5值等信息的小程序
- [11-22]MASM32编程获取文件语言、版本信息v3