共用方式為


GetUserPreferredUILanguages 函式 (winnls.h)

擷取顯示語言設定的相關信息。 如需詳細資訊,請參閱 使用者介面語言管理

語法

BOOL GetUserPreferredUILanguages(
  [in]            DWORD   dwFlags,
  [out]           PULONG  pulNumLanguages,
  [out, optional] PZZWSTR pwszLanguagesBuffer,
  [in, out]       PULONG  pcchLanguagesBuffer
);

參數

[in] dwFlags

識別語言格式和篩選的旗標。 下列旗標會指定要用於顯示語言清單的語言格式。 旗標互斥,預設值為 MUI_LANGUAGE_NAME。

意義
MUI_LANGUAGE_ID 擷取語言標識碼中的語言字串
MUI_LANGUAGE_NAME 擷取 語言名稱格式的語言 字串。

[out] pulNumLanguages

pwszLanguagesBuffer 中所擷取之語言數目的指標。

[out, optional] pwszLanguagesBuffer

選擇性。 緩衝區的指標,此函式會擷取 dwflags 所指定格式的已排序、以 Null 分隔的顯示語言清單。 此清單結尾為兩個 Null 字元。

或者,如果此參數設定為 NULL而 pcchLanguagesBuffer 設定為 0,函式會在 pcchLanguagesBuffer 中擷取語言緩衝區的必要大小。 所需的大小包含兩個 Null 字元。

[in, out] pcchLanguagesBuffer

pwszLanguagesBuffer 所指示之語言緩衝區的大小指標,以字元為單位。 從函式成功傳回時,參數會包含所擷取語言緩衝區的大小。

或者,如果此參數設定為 0, 而 pwszLanguagesBuffer 設為 NULL,函式會在 pcchLanguagesBuffer 中擷取語言緩衝區的必要大小。

傳回值

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

  • ERROR_INSUFFICIENT_BUFFER。 提供的緩衝區大小不夠大,或設定為 NULL 不正確。

如果函式因任何其他原因而失敗,則未定義 pulNumLanguagespcchLanguagesBuffer 的值。

備註

指定MUI_LANGUAGE_ID時,擷取的語言字串將會是不包含前置 0x 的十六進位語言標識符,且長度為 4 個字元。 例如,en-US 會以 “0409” 傳回,並將 en 傳回為 “0009”。

顯示語言不能包含一個以上的 語言介面套件 (LIP) 語言,該語言對應至補充地區設定。 如果清單包含其中一個以上的語言,而且應用程式在呼叫函式時指定MUI_LANGUAGE_ID,語言緩衝區就會包含該語言的 “1400”。 此字串會對應至 LOCALE_CUSTOM_UI_DEFAULT的十六進位值。

這個函式所擷取的語言清單具有下列特性:

  • 每個語言都代表有效的 NLS 地區設定。
  • 每種語言都會安裝在作業系統上。
  • 此清單包含每個語言的一個專案,沒有重複的專案。
  • 如果清單是空的,或不符合這些驗證準則,則會改用系統慣用的 UI 語言清單。

C# 簽章

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetUserPreferredUILanguages(
            System.UInt32 dwFlags,
            ref System.UInt32 pulNumLanguages,
            System.IntPtr pwszLanguagesBuffer,
            ref System.UInt32 pcchLanguagesBuffer
            );

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 winnls.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

GetSystemPreferredUILanguages 函式GetThreadPreferredUILanguages 函式、 GetThreadUILanguage 函式、 SetThreadPreferredUILanguages 函式、 多語系使用者介面多語系使用者介面函式