블로그 이미지
frostguy

카테고리

분류 전체보기 (48)
사진 (3)
Study (40)
IT (3)
Total141,177
Today0
Yesterday25

'VerQueryValue'에 해당되는 글 1건

  1. 2009.06.24 파일에서 버전정보 읽어오기
CString TestDlg::GetAppVersion(CString fileName)
{
        BSTR bstrFilePath = fileName.AllocSysString();

	CString strVersion = L"";
	DWORD dwHdlDest;
	DWORD dwSizeDest;

	dwSizeDest = GetFileVersionInfoSize(
		(LPWSTR)bstrFilePath,  //버전을 알고자 하는 파일의 경로
		&dwHdlDest); 
	if (dwSizeDest > 0)
	{
		BYTE* pDestData = new BYTE[dwSizeDest + 1];
		if (GetFileVersionInfo(
			(LPWSTR)bstrFilePath, //버전을 알고자 하는 파일의 경로
			dwHdlDest, 
			dwSizeDest,
			pDestData))
		{
			VS_FIXEDFILEINFO * pvsInfo;
			UINT uLen;
			if (VerQueryValue(pDestData, _T("\\"), (void**)&pvsInfo, &uLen))

			{
				strVersion.Format(L"%d.%d.%d.%d", (pvsInfo->dwFileVersionMS / 65536),
					(pvsInfo->dwFileVersionMS % 65536), (pvsInfo->dwFileVersionLS / 65536),
					(pvsInfo->dwFileVersionLS % 65536));

			}
		}

		delete [] pDestData;
	}

	SysFreeString(bstrFilePath);

	return strVersion;
	
}
Posted by frostguy

최근에 달린 댓글

글 보관함