BOOL GetProgramVersion(WCHAR* lpVersion)
{
WCHAR szVersionBuffer[8192] = { 0 };
DWORD dwVerSize;
DWORD dwHandle;
TCHAR szAppName[_MAX_PATH];
::GetModuleFileName(NULL, szAppName, _MAX_PATH);
dwVerSize = GetFileVersionInfoSize(szAppName, &dwHandle);
if (dwVerSize == 0)
{
return FALSE;
}
if (GetFileVersionInfo(szAppName, 0, dwVerSize, szVersionBuffer))
{
VS_FIXEDFILEINFO * pInfo;
unsigned int nInfoLen = 0;
if (VerQueryValue(szVersionBuffer, L"\\", (void**)&pInfo, &nInfoLen))
{
swprintf(lpVersion, L"%d.%d.%d.%d",
HIWORD(pInfo->dwFileVersionMS), LOWORD(pInfo->dwFileVersionMS),
HIWORD(pInfo->dwFileVersionLS), LOWORD(pInfo->dwFileVersionLS));
return TRUE;
}
}
return FALSE;
}CnCrypt代码 之 获取程序自身版本号
最新推荐文章于 2020-05-25 12:50:48 发布
本文介绍了一个使用C/C++编写的函数,该函数可以获取当前运行程序的版本信息,并将其存储在一个宽字符数组中。通过调用`GetModuleFileName`, `GetFileVersionInfoSize`, `GetFileVersionInfo`等Windows API函数来实现。
2951

被折叠的 条评论
为什么被折叠?



