在 Windows 中本地化應用程式時,您需要提供您的應用程式:
C:\Program Files\Contoso\Grobber.exe
.mui并且您在包含本地化資源的子檔案夾中提供各種 dll(帶有擴展名):
C:\Program Files\Contoso\Grobber.exeC:\Program Files\Contoso\en-US\Grobber.exe.muiC:\Program Files\Contoso\en-CA\Grobber.exe.muiC:\Program Files\Contoso\fr-CAca\Grobber.exe.muiC:\Program Files\Contoso\fr-FR\Grobber.exe.muiC:\Program Files\Contoso\es-US\Grobber.exe.muiC:\Program Files\Contoso\fr-DE\Grobber.exe.mui
根據 Microsoft
我們也可以通過從 ntdll 呼叫 api 來直接執行此操作
EXTERN_C
NTSYSAPI
NTSTATUS
NTAPI
LdrLoadAlternateResourceModuleEx (
_In_ HMODULE hModule,
_In_ LANGID LangId,
_Out_ HMODULE* pAltResourceDllHandle,
_Out_ PSIZE_T ViewSize);
uj5u.com熱心網友回復:
MSDN說:
檔案關聯使用反映在所有關聯檔案中的資源配置資料中的校驗和。資源加載器使用校驗和來驗證檔案是否包含相同版本的所需資源。它還使用檔案夾名稱驗證特定語言檔案中的語言。如果未建立適當的關聯,則加載程式不會加載資源檔案。
這意味著您必須將正確的開關傳遞給資源編譯器或使用 SDK 中的 MUIRCT 工具來取悅加載程式的 MUI 部分。
如果您在資源編輯器中查看 Windows 附帶的系統檔案,您將看到一個具有未記錄內容的神奇 MUI 資源......
uj5u.com熱心網友回復:
Grobber.exe中的LN 檔案配置正確嗎?
根據檔案中稱為 * .dll的LN檔案,您需要將 LN 檔案與其特定語言的檔案相關聯。然后在加載語言資源時,修改了許多資源加載函式,自動從特定語言的資源檔案中加載資源,將資源視為包含在 LN 檔案中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/513388.html
