SetProcessPreferredUILanguages 関数 (winnls.h)

アプリケーション プロセスのプロセス優先 UI 言語を設定します。 詳細については、「 ユーザー インターフェイス言語管理」を参照してください。

構文

BOOL SetProcessPreferredUILanguages(
  [in]            DWORD    dwFlags,
  [in, optional]  PCZZWSTR pwszLanguagesBuffer,
  [out, optional] PULONG   pulNumLanguages
);

パラメーター

[in] dwFlags

プロセス優先 UI 言語に使用する言語形式を識別するフラグ。 フラグは相互に排他的であり、既定値はMUI_LANGUAGE_NAME。

MUI_LANGUAGE_IDの代わりにMUI_LANGUAGE_NAMEを使用することをお勧めします。

説明
MUI_LANGUAGE_ID
入力パラメーターの言語文字列は言語 識別子 形式です。
MUI_LANGUAGE_NAME
入力パラメーターの言語文字列は 、言語名 の形式です。

[in, optional] pwszLanguagesBuffer

優先順位を下げ、null で区切られた順序付きリストを含む、null で終わる 2 重の複数文字列バッファーへのポインター。 バッファーに 5 つ以上の言語がある場合、関数は最初の 5 つの有効な言語のみを設定します。

または、言語リストが必要ない場合は、このパラメーターに NULL を 含めることができます。 この場合、関数はプロセスに適した UI 言語をクリアします。

[out, optional] pulNumLanguages

入力バッファーからプロセス言語リストに設定されている言語の数へのポインター 。最大 5 つまで。

戻り値

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

  • ERROR_INVALID_PARAMETER。 無効なパラメーターが指定されています。
プロセス優先 UI 言語リストが空の場合、またはプロセスに指定された言語が無効な場合、関数は成功し、 pulNumLanguages パラメーターに 0 を設定します。

解説

アプリケーションでは、起動後にできるだけ早く SetProcessPreferredUILanguages を 呼び出すのが理想的です。

この関数が返された後、アプリケーションは GetProcessPreferredUILanguages を呼び出して、結果の言語リストを検証して調べることができます。

MUI_LANGUAGE_IDを指定する場合、入力パラメーター言語の文字列は 16 進数言語を使用する必要があります

先頭の 0x を含まず、長さが 4 文字の識別子。 たとえば、en-US は 次のようになります。

は "0409" として渡され、en は "0009" として渡されます。

メモ MUI_LANGUAGE_IDよりも、MUI_LANGUAGE_NAMEの使用をお勧めします。
 

C# シグネチャ

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

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

GetProcessPreferredUILanguages

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

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