이의태님 질문 :
안녕하세요.
BCBDN 이 점점 활성화되는 것 같아 기분이 좋습니다. 늘 발전하기를 기원합니다.
다름이 아니라, 빌더 프로젝트에서 Project / Options 에 보면 Version Info 탭이 있습니다.
거기에서는 프로젝트를 빌드할 때마다 빌드 넘버가 자동으로 증가하도록 설정할 수 있습니다.
그런데 여기에 나오는 Version 정보를 코드에서 사용하려고 하는데, 그 방법을 모르겠습니다.
도움말에도 나오는 것 같지 않구요.
About 윈도우에 자동으로 여기에 기록된 Version 정보를 나오게 하고 싶습니다.
혹 아시는 분 계시면 답변 주시면 정말 감사하겠습니다.
즐겁고 행복한 성탄절이 되기를 바랍니다.
감사합니다.
FriendPlus 님이 쓰신 글 :
: AnsiString __fastcall Information(AnsiString AFilename, AnsiString AQuery)
: {
: if(AQuery.IsEmpty()) return "";
:
: DWORD dwHandle;
: LPVOID ptr;
: UINT uLength;
:
: DWORD dwVersionInfoSize = GetFileVersionInfoSize(AFilename.c_str(), &dwHandle);
: if(dwVersionInfoSize == 0) return "";
:
: LPVOID pFileInfo = (LPVOID) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwVersionInfoSize);
:
: GetFileVersionInfo(AFilename.c_str(), dwHandle, dwVersionInfoSize, pFileInfo);
: VerQueryValue(pFileInfo, TEXT("\\VarFileInfo\\Translation"), &ptr, &uLength);
:
: WORD *id = (WORD*) ptr;
: AnsiString szString = "\\StringFileInfo\\" + IntToHex(id[0], 4) + IntToHex(id[1], 4) + "\\" + AQuery;
:
: VerQueryValue(pFileInfo, szString.c_str(), &ptr, &uLength);
: if(uLength == 0) return "";
:
: AnsiString sOut = AnsiString((char *) ptr);
: HeapFree(GetProcessHeap(), 0, pFileInfo);
:
: return sOut;
: }
:
:
: ※ AQuery List
: - CompanyName
: - FileDescription
: - FileVersion
: - InternalName
: - LegalCopyright
: - LegalTrademarks
: - ProductName
: - ProductVersion
|