SetProcessPreferredUILanguages 函式 (winnls.h)
設定應用程式進程的慣用 UI 語言。 如需詳細資訊,請參閱 使用者介面語言管理。
語法
BOOL SetProcessPreferredUILanguages(
[in] DWORD dwFlags,
[in, optional] PCZZWSTR pwszLanguagesBuffer,
[out, optional] PULONG pulNumLanguages
);
參數
[in] dwFlags
旗標,識別用於程式慣用 UI 語言的語言格式。 旗標互斥,預設值為 MUI_LANGUAGE_NAME。
建議您使用 MUI_LANGUAGE_NAME,而不是MUI_LANGUAGE_ID。
值 | 意義 |
---|---|
|
輸入參數語言字串是 語言識別項 格式。 |
|
輸入參數語言字串是 語言名稱 格式。 |
[in, optional] pwszLanguagesBuffer
以遞減喜好設定順序包含已排序、以 Null 分隔清單的雙 Null 終止多重字串緩衝區指標。 如果緩衝區中有超過五種語言,函式只會設定前五個有效語言。
或者,如果不需要語言清單,此參數可以包含 Null 。 在此情況下,函式會清除程式的慣用 UI 語言。
[out, optional] pulNumLanguages
已從輸入緩衝區在進程語言清單中設定的語言數目指標,最多五個。
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。 若要取得擴充的錯誤資訊,應用程式可以呼叫 GetLastError,這會傳回下列錯誤碼:
- ERROR_INVALID_PARAMETER。 指定了不正確參數。
備註
在理想情況下,應用程式會在啟動之後儘快呼叫 SetProcessPreferredUILanguages 。
在此函式傳回之後,應用程式可以呼叫 GetProcessPreferredUILanguages 來驗證並檢查產生的語言清單。
指定MUI_LANGUAGE_ID時,輸入參數語言字串必須使用十六進位語言
不包含前置 0x 的識別碼,且長度為 4 個字元。 例如,en-US 應該是
傳遞為 「0409」 和 en 作為 「0009」。
注意 建議使用MUI_LANGUAGE_NAME,而非MUI_LANGUAGE_ID。
C# 簽章
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean SetProcessPreferredUILanguages(
System.UInt32 dwFlags,
System.String pwszLanguagesBuffer,
ref System.UInt32 pulNumLanguages
);
規格需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winnls.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |