次の方法で共有


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 または指定したフラグの 1 つ以上に設定できます。 0 に設定すると、パラメーター値は既定で MUI_LANGUAGE_ID |MUI_LICENSED_LANGUAGES。

Windows 2000、Windows XP、Windows Server 2003: アプリケーションは dwFlags 0 に設定する必要があります。

[in] lParam

アプリケーション定義の値。

戻り値

成功した場合 TRUE、それ以外の場合は FALSE 返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError呼び出すことができます。これは、次のいずれかのエラー コードを返すことができます。

  • ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効でした。

備考

この関数は、使用できるユーザー インターフェイス言語を列挙し、指定されたフラグに応じて、オペレーティング システムで使用するライセンスを取得します。 言語識別子または言語名を一度に 1 つずつ、EnumUILanguagesProc コールバック関数に渡します。 EnumUILanguages 関数は、最後の言語が見つかるか、コールバック関数が FALSEを返すまで、言語識別子または名前 コールバック関数に引き続き渡します。

Windows Vista 以降でのみ実行されるアプリケーションの場合は、MUI_LANGUAGE_IDよりもMUI_LANGUAGE_NAMEをお勧めします。 MUI_LANGUAGE_NAMEでは、補足ロケールに関連付けられている言語を区別できます。

この関数の呼び出しで MUI_LANGUAGE_ID フラグが指定されている場合、コールバックに渡される文字列

関数は、先頭の 0x を含まない 16 進言語識別子で、4 になります

文字の長さ。 たとえば、en-US は "0409" として渡され、en は "0009" として渡されます。 値 "1000" は、補足ロケールに関連付けられている任意の言語のコールバック関数に渡されます。 この値は、LOCALE_CUSTOM_UNSPECIFIEDの 16 進数の値に対応します。 選択した言語がユーザー優先 UI 言語リストまたはシステム優先 UI 言語リストにある場合でも、補助ロケールは区別されません。

C# シグネチャ

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

手記

winnls.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして EnumUILanguages を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winnls.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

EnumUILanguagesProc の

GetSystemDefaultUILanguage の

GetUserDefaultUILanguage の

多言語ユーザー インターフェイスの

多言語ユーザー インターフェイス関数 を する