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
반응형
'Application > MFC' 카테고리의 다른 글
[MFC] 심볼릭 링크 혹은 정션 링크 위치 가져오기 (0) | 2023.02.21 |
---|---|
[MFC] FTP 파일 다운로드 (0) | 2023.02.20 |
[MFC] TrayIcon 만들기 (0) | 2023.02.16 |
[MFC] TrayIcon 초기화시 재 생성 방법 (TaskbarCreated) (0) | 2023.02.15 |
[MFC] 자식 핸들 가져오기 (GW_HWNDNEXT, GW_CHILD) (0) | 2023.02.14 |