獲取應用程序版本 version

需要包含:Version.lib

std::string GetFileVersionTS()
{
	static std::string asVer = "";
	if (asVer != "")
		return asVer;
	char FileName[MAX_PATH] = { 0 };
	::GetModuleFileName(NULL, FileName, sizeof(FileName) - 1);

	
	VS_FIXEDFILEINFO *pVsInfo;
	unsigned int iFileInfoSize = sizeof(VS_FIXEDFILEINFO);

	int iVerInfoSize = GetFileVersionInfoSize(FileName, NULL);
	if (iVerInfoSize != 0){
		char *pBuf = NULL;
		while (!pBuf){
			pBuf = new char[iVerInfoSize];
		}
		if (GetFileVersionInfo(FileName, 0, iVerInfoSize, pBuf)){
			if (VerQueryValue(pBuf, "\\", (void **)&pVsInfo, &iFileInfoSize)){
				sprintf(pBuf, "%d.%d.%d.%d", HIWORD(pVsInfo->dwProductVersionMS), LOWORD(pVsInfo->dwProductVersionMS), HIWORD(pVsInfo->dwProductVersionLS), LOWORD(pVsInfo->dwProductVersionLS));
				asVer = pBuf;
			}
		}
		delete pBuf;
	}
	return asVer;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章