Mendapatkan Maklumat Versi daripada DLL dan EXE menggunakan Win32 API
Apabila berurusan dengan DLL dan EXE, selalunya timbul keperluan untuk mendapatkan versinya nombor. Berbeza dengan versi Windows, versi empat bahagian bertitik ini (cth., x.x.x.x) boleh diakses melalui tab "Butiran" fail dalam sifatnya.
Penyelesaian: GetFileVersionInfo API
Kunci untuk mendapatkan semula maklumat versi secara pengaturcaraan terletak pada API GetFileVersionInfo. Dokumentasi terperinci tersedia di tapak web MSDN Microsoft di bawah tajuk yang tepat "Menggunakan Maklumat Versi."
Sampel Pelaksanaan
Dalam C atau C , pelaksanaan biasa mungkin menyerupai yang berikut kod:
<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>
Ingat untuk melaraskan 'szVersionFile' dengan laluan dan nama fail sebenar DLL atau EXE yang anda ingin periksa.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Maklumat Versi daripada DLL dan EXE menggunakan Win32 API?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!