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。

意義
MUI_LANGUAGE_ID
輸入參數語言字串是 語言識別項 格式。
MUI_LANGUAGE_NAME
輸入參數語言字串是 語言名稱 格式。

[in, optional] pwszLanguagesBuffer

以遞減喜好設定順序包含已排序、以 Null 分隔清單的雙 Null 終止多重字串緩衝區指標。 如果緩衝區中有超過五種語言,函式只會設定前五個有效語言。

或者,如果不需要語言清單,此參數可以包含 Null 。 在此情況下,函式會清除程式的慣用 UI 語言。

[out, optional] pulNumLanguages

已從輸入緩衝區在進程語言清單中設定的語言數目指標,最多五個。

傳回值

如果成功,則傳回 TRUE ,否則傳回 FALSE 。 若要取得擴充的錯誤資訊,應用程式可以呼叫 GetLastError,這會傳回下列錯誤碼:

  • ERROR_INVALID_PARAMETER。 指定了不正確參數。
如果程式慣用 UI 語言清單是空的,或為進程指定的語言無效,函式會成功,並在 pulNumLanguages 參數中設定 0。

備註

在理想情況下,應用程式會在啟動之後儘快呼叫 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

另請參閱

GetProcessPreferredUILanguages

多語系使用者介面

多語系使用者介面函式