在軟體開發領域,經常需要擷取與動態連結庫相關的版本資訊( DLL)和可執行程序(EXE)。透過利用可透過 C 或 C 語言存取的 Win32 本機 API,開發人員可以無縫取得這些可執行實體的產品和檔案版本。
解鎖版本資訊的關鍵位於 GetFileVersionInfo API 中。這個強大的函數用與指定 DLL 或 EXE 檔案相關的資料填入緩衝區。讓我們深入研究其用法的複雜性:
以下程式碼範例說明了GetFileVersionInfo API 的實際應用:
<code class="python">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) { // Parse the file version into a four-part dotted string 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>
總之,GetFileVersionInfo API 為以程式設計方式從DLL 和程式設計方式EXE 取得版本資訊提供了全面的解決方案。透過利用此功能,開發人員可以自動執行版本檢索任務,確保軟體開發工作的準確性和效率。
以上是如何以程式設計方式取得 DLL 和 EXE 的版本資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!