Win32 API를 사용하여 DLL 및 EXE에서 버전 정보 검색
DLL 및 EXE를 처리할 때 해당 버전을 구해야 하는 경우가 종종 있습니다. 숫자. Windows 버전과 달리 이 네 부분으로 구성된 점선 버전(예: x.x.x.x)은 해당 속성에 있는 파일의 "세부 정보" 탭을 통해 액세스할 수 있습니다.
해결책: GetFileVersionInfo API
프로그래밍 방식으로 버전 정보를 검색하는 핵심은 GetFileVersionInfo API에 있습니다. 자세한 문서는 Microsoft의 MSDN 웹사이트에서 "버전 정보 사용"이라는 적절한 제목으로 제공됩니다.
샘플 구현
C 또는 C에서 일반적인 구현은 다음과 유사할 수 있습니다. 코드:
<code class="c++">DWORD verHandle = 0; UINT size = 0; LPBYTE lpBuffer = NULL; DWORD verSize = GetFileVersionInfoSize(szVersionFile, &verHandle); if (verSize != NULL) { LPSTR verData = new char[verSize]; if (GetFileVersionInfo(szVersionFile, verHandle, verSize, verData)) { if (VerQueryValue(verData, "\", (VOID FAR* FAR*)&lpBuffer, &size)) { if (size) { VS_FIXEDFILEINFO *verInfo = (VS_FIXEDFILEINFO *)lpBuffer; if (verInfo->dwSignature == 0xfeef04bd) { TRACE( "File Version: %d.%d.%d.%d\n", ( verInfo->dwFileVersionMS >> 16 ) & 0xffff, ( verInfo->dwFileVersionMS >> 0 ) & 0xffff, ( verInfo->dwFileVersionLS >> 16 ) & 0xffff, ( verInfo->dwFileVersionLS >> 0 ) & 0xffff ); } } } } delete[] verData; }</code>
검사하려는 DLL 또는 EXE의 실제 경로와 파일 이름으로 'szVersionFile'을 조정해야 합니다.
위 내용은 Win32 API를 사용하여 DLL 및 EXE에서 버전 정보를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!