SetThreadPreferredUILanguages

現在のスレッドに対し優先 UI 言語を設定する。詳細は User Interface Language Management を参照。

SetThreadPreferredUILanguages dwFlags, pwszLanguagesBuffer, pulNumLanguages

dwFlags : [int] 設定する言語の形式とフィルタリングを示すフラグ。次の形式フラグはスレッドの優先 UI 言語に使う言語形式を指定する。フラグは排他的で、既定は MUI_LANGUAGE_NAME である。MUI_LANGUAGE_ID よりも MUI_LANGUAGE_NAME の使用を推奨する。
pwszLanguagesBuffer : [int] dwFlags で指定した形式で順序付けられた、NULL で区切られたリストを含むダブル NULL 終端マルチ文字列バッファへのポインタ。スレッドの優先 UI 言語リストをクリアするには NULL 文字列または空のダブル NULL 終端文字列を指定する。クリアする際は dwFlags に形式フラグまたは 0 を指定する。フィルタリングフラグの一つを指定した場合は本パラメータを NULL に設定する必要がある。この場合、関数は成功するが、スレッドの優先言語はリセットされない。
pulNumLanguages : [var] 本関数がスレッドの優先 UI 言語リストに設定した言語数へのポインタ。アプリケーションがフィルタリングフラグの一つを指定した場合、本パラメータは NULL に設定する必要がある。

(プラグイン / モジュール : kernel32.dll)

解説

現在のスレッドに対し優先 UI 言語を設定する。詳細は User Interface Language Management を参照。

[戻り値]
関数が成功した場合は TRUE、それ以外は FALSE を返す。

[備考]

本関数の呼び出し後にアプリケーションがリソースをロードすると、スレッド固有の優先設定がユーザーが好む言語よりも優先される。本関数はスレッドに対し最大
5 つの優先言語を優先順に設定できる。言語バッファに 5 つを超える有効な言語が含まれる場合、最初の 5
つだけが設定され残りは無視される。MUI_LANGUAGE_ID フラグ付きで呼ぶ場合、リスト内の文字列は先頭の 0x を含まず 4
文字長の 16 進言語識別子でなければならない。たとえば en-US は "0409" 、en は "0009"
として渡す。MUI_LANGUAGE_ID 指定時、リスト内の各 16
進値は実際の言語識別子を表していなければならない。特に次のロケール識別子の値は、言語識別子に対応するためには使えない。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs