GetSystemPreferredUILanguages

システムの優先 UI 言語を取得する。詳細は User Interface Language Management を参照。

GetSystemPreferredUILanguages dwFlags, pulNumLanguages, pwszLanguagesBuffer, pcchLanguagesBuffer

dwFlags : [int] 言語形式とフィルタリングを識別するフラグ。以下のフラグはシステムの優先 UI 言語に使用する形式を指定する。フラグは相互排他的で、既定は MUI_LANGUAGE_NAME である。
pulNumLanguages : [var] pwszLanguagesBuffer に取得される言語の数へのポインタ。
pwszLanguagesBuffer : [int] 省略可能。dwFlags で指定された形式で、この関数が順序付けされた null 区切りのシステム優先 UI 言語リストを取得するバッファへのポインタ。このリストは 2 つの null 文字で終わる。あるいは、このパラメータが NULL に設定され、pcchLanguagesBuffer が 0 に設定されている場合、関数は必要な言語バッファのサイズを pcchLanguagesBuffer に取得する。必要なサイズには 2 つの null 文字が含まれる。
pcchLanguagesBuffer : [var] pwszLanguagesBuffer が示す言語バッファのサイズ(文字数)へのポインタ。関数から正常に戻ったとき、このパラメータには取得された言語バッファのサイズが含まれる。あるいは、このパラメータが 0 に設定され、pwszLanguagesBuffer が NULL に設定されている場合、関数は必要な言語バッファのサイズを pcchLanguagesBuffer に取得する。

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

解説

システムの優先 UI 言語を取得する。詳細は User Interface Language Management を参照。

[戻り値]
成功した場合は TRUE、それ以外の場合は FALSE を返す。拡張エラー情報を取得するには、アプリケーションは GetLastError
を呼ぶ。これは以下のいずれかのエラーコードを返す。
(以下省略)

[備考]
MUI_LANGUAGE_ID が指定されている場合、取得される言語文字列は先頭の 0x を含まない 16 進数の言語識別子で、長さは 4
文字となる。たとえば en-US は "0409" として、en は "0009" として返される。システム優先 UI
言語は、補助ロケールに対応する Language Interface Pack (LIP) 言語を 1
つを超えて含むことはできない。リストにこれらの言語が複数含まれており、アプリケーションが関数の呼び出しで MUI_LANGUAGE_ID
を指定した場合、その言語に対して言語バッファには "1400" が含まれる。この文字列は LOCALE_CUSTOM_UI_DEFAULT
の 16 進数値に対応する。MUI_MACHINE_LANGUAGE_SETTINGS
フラグが設定されている場合、この関数はリスト内の各言語が有効な NLS
ロケールを表すかチェックする。取得されるリストには以下の項目が含まれることがある。
(以下省略)

情報

プラグイン / モジュール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