C 또는 C에서 프로그래밍 방식으로 DLL 또는 EXE 파일 버전을 검색하는 방법
종종 소프트웨어 문제를 해결하거나 파일 무결성을 확인할 때 다음과 같은 문제가 발생합니다. 특정 DLL 또는 EXE 파일에 대한 버전 정보를 얻는 데 필요합니다. C 및 C 개발자는 기본 Win32 API를 활용하여 이러한 버전 번호를 효과적으로 검색할 수 있습니다. 이 버전 번호는 일반적으로 파일 속성 창의 "세부 정보" 탭 아래에 네 부분으로 구성된 점 표기법(예: x.x.x.x)으로 표시됩니다.
이 작업을 수행하려면 GetFileVersionInfo API를 사용해야 합니다. MSDN에 설명된 대로 이 API는 지정된 파일과 관련된 버전 정보에 대한 액세스를 제공합니다. 이 API를 사용하여 개발자는 DLL 및 EXE의 제품 버전과 파일 버전을 얻을 수 있습니다.
다음 코드 샘플은 GetFileVersionInfo 및 VerQueryValue:
<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) { // DWORD is always 32 bits, regardless of system architecture // Get the version numbers from dwFileVersionMS and dwFileVersionLS 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>앞서 언급한 API와 코드 샘플을 활용하여 프로그래머는 DLL 또는 EXE 파일의 버전 정보를 쉽게 검색할 수 있습니다. 이 기능은 디버깅이나 자세한 파일 검사를 수행할 때 매우 유용합니다.
위 내용은 C 또는 C에서 프로그래밍 방식으로 DLL 또는 EXE 파일 버전을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!