次の方法で共有


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 を指定した後、アプリケーションは言語識別子に対応する次の定数を使用できません。

Windows XP: アプリケーションが言語識別子 0 でこの関数を呼び出すと、関数は最初に、現在のユーザー インターフェイスに Uniscribe が必要なく、コンソール コード ページでサポートされていることを確認します。 ユーザー インターフェイスがこれらのテストに合格した場合、関数は指定された値を使用します。 そうでない場合、関数はスレッド ユーザー インターフェイス言語を Windows コンソールで表示できる言語に変更します。 Windows XP では、スレッド ロケールとは別のスレッド ユーザー インターフェイス言語の概念はサポートされていません。 したがって、この関数は Windows XP のスレッド ロケールを変更します。 ユーザーとシステムが優先する UI 言語、Unicode 以外のアプリケーションの言語、コンソールの機能に基づいて、コンソール表示に最適な言語を使用するようにスレッドを設定するのは簡単です。

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

関連項目

GetThreadUILanguage

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

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

SetThreadPreferredUILanguages