Application/MFC
[MFC] 실행 파일 버전 가져오기
devsalix
2023. 2. 17. 10:25
728x90
우선 Class의 헤더 파일에 lib 파일 추가와 변수를 선언해 줍니다
#pragma comment(lib,"version.lib")
class CMyClass
{
....
CString m_strVersion;
}
그 후 소스 파일에서 아래와 같이 함수를 작성하면
m_strVersion 변수에 현재 파일의 버전을 가져올 수 있습니다
void CMyClass::GetVersion()
{
m_strVersion.Empty();
WCHAR szPath[MAX_PATH];
GetModuleFileName(AfxGetInstanceHandle(), szPath, sizeof(szPath));
DWORD dwVersionHandle;
DWORD dwVersionInfoSize = GetFileVersionInfoSize(szPath, &dwVersionHandle);
HANDLE hMemory = GlobalAlloc(GMEM_MOVEABLE, dwVersionInfoSize);
LPVOID pInfoMemory = GlobalLock(hMemory);
GetFileVersionInfo(szPath, dwVersionHandle, dwVersionInfoSize, pInfoMemory);
WCHAR *pData = NULL;
UINT iSize = 0;
if(VerQueryValue(pInfoMemory, _T("\\StringFileInfo\\041204b0\\FileVersion"), (void **)&pData, &iSize))
{
m_strVersion.Format(_T("%s"), pData);
}
GlobalUnlock(hMemory);
GlobalFree(hMemory);
}
제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀
728x90
반응형