SetThreadUILanguage 関数 (winnls.h)
現在のスレッドのユーザー インターフェイス言語を設定します。
Windows Vista 以降: この関数は、スレッド優先 UI 言語の一覧をクリアできません。 MUI アプリケーションでは、言語リストをクリアするために SetThreadPreferredUILanguages を呼び出す必要があります。
Windows XP: この関数は、オペレーティング システムが Windows コンソールで安全に使用できる値を識別して設定できるように制限されています。
構文
LANGID SetThreadUILanguage(
[in] LANGID LangId
);
パラメーター
[in] LangId
スレッドのユーザー インターフェイス言語の言語識別子。
Windows Vista 以降: アプリケーションでは、0 または 0 以外の識別子の言語識別子を指定できます。 詳細については、「解説」を参照してください。
Windows XP: アプリケーションでは、このパラメーターを 0 にのみ設定できます。 この設定により、関数はコンソール表示を最もよくサポートする言語を選択します。 詳細については、「解説」を参照してください。
戻り値
成功した場合は、入力言語識別子を返します。 入力識別子が 0 以外の場合、関数はその値を返します。 言語識別子が 0 の場合、関数は常に成功し、Windows コンソールを最もよくサポートする言語の識別子を返します。 「解説」を参照してください。
入力言語識別子が 0 以外で、関数が失敗した場合、戻り値は入力言語識別子と異なります。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。
注釈
スレッドが作成されると、スレッド ユーザー インターフェイスの言語設定が空になり、スレッドのユーザー インターフェイスがユーザーが選択した言語で表示されます。 この関数を使用すると、アプリケーションは現在実行中のスレッドのユーザー インターフェイス言語を変更できます。
Windows Vista 以降: この関数を呼び出し、言語識別子に 0 を指定することは、MUI_CONSOLE_FILTER フラグが設定された SetThreadPreferredUILanguages の 呼び出しと同じです。 アプリケーションで有効な 0 以外の言語識別子が指定されている場合、関数はスレッドの特定のユーザー インターフェイス言語を設定します。 言語識別子に 0 を指定した後、アプリケーションは言語識別子に対応する次の定数を使用できません。
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
C# シグネチャ
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.UInt16 SetThreadUILanguage(
System.UInt16 LangId
);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winnls.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |