enumUILanguagesA 函式 (winnls.h)

列舉操作系統上可用的使用者介面語言,並使用清單中的每個語言呼叫回呼函式。

語法

BOOL EnumUILanguagesA(
  [in] UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
  [in] DWORD                dwFlags,
  [in] LONG_PTR             lParam
);

參數

[in] lpUILanguageEnumProc

應用程式定義的 EnumUILanguagesProc 回呼函式的指標。 EnumUILanguages 會重複呼叫此函式,以列舉清單中的語言。

[in] dwFlags

識別語言格式和篩選的旗標。 下列旗標會指定要傳遞至回呼函式的語言格式。 格式旗標互斥,MUI_LANGUAGE_ID為預設值。

意義
MUI_LANGUAGE_ID
將語言字串中的 語言標識碼 傳遞至回呼函式。
MUI_LANGUAGE_NAME
將語言字串中的 語言名稱 傳遞至回呼函式。
 

下列旗標會指定要用於列舉語言之函式的篩選。 篩選旗標互斥,預設值為 MUI_LICENSED_LANGUAGES。

意義
MUI_ALL_INSTALLED_LANGUAGES
列舉操作系統可用的所有已安裝語言。
MUI_LICENSED_LANGUAGES
列舉所有可用且已授權使用的語言。
MUI_GROUP_POLICY
列舉所有可用和授權的已安裝語言,以及允許的語言

組策略。

 

Windows Vista 和更新版本: 應用程式可以將 dwFlags 設定為 0,或設定為一或多個指定的旗標。 設定為 0 會導致參數值預設為 MUI_LANGUAGE_ID |MUI_LICENSED_LANGUAGES。

Windows 2000、Windows XP、Windows Server 2003: 應用程式必須將 dwFlags 設定為 0。

[in] lParam

應用程式定義的值。

傳回值

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

  • ERROR_INVALID_FLAGS。 為旗標的值無效。
  • ERROR_INVALID_PARAMETER。 任何參數值都無效。

備註

此函式會列舉可用的使用者介面語言,並視指定的旗標而定,授權用於操作系統。 它會一次將語言標識碼或語言名稱傳遞至 EnumUILanguagesProc 回呼函式。 EnumUILanguages 函式會繼續將語言標識碼或名稱傳遞至回呼函式,直到找到最後一種語言或回呼函式傳回 FALSE 為止。

針對只在 Windows Vista 和更新版本上執行的應用程式,建議MUI_LANGUAGE_NAME超過 MUI_LANGUAGE_ID。 MUI_LANGUAGE_NAME允許與 補充地區設定相關聯的語言之間的差異。

如果在呼叫此函式時指定MUI_LANGUAGE_ID旗標,則傳遞至回呼的字串

函式會是不包含前置 0x 的十六進位語言標識碼,而且會是 4

長度為字元。 例如,en-US 會以 “0409” 傳遞,而 en 會傳遞為 “0009”。 值 「1000」 會針對與補充地區設定相關聯的任何語言傳遞至回呼函式。 這個值會對應至 LOCALE_CUSTOM_UNSPECIFIED的十六進位值。 即使選取的語言位於使用者慣用UI語言清單或系統慣用的UI語言清單中,它也不會區分補充地區設定。

C# 簽章

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean EnumUILanguages(
            EnumUILanguagesProc lpUILanguageEnumProc,
            System.UInt32 dwFlags,
            System.IntPtr lParam
            );

注意

winnls.h 標頭會將 EnumUILanguages 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

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

另請參閱

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

多語系使用者介面

多語系使用者介面函式