人間、忘れるように出来てるんだよ。

現在Windowsにログインしているユーザーの言語設定で
ja_JP
と取得する方法を今年の4月に見つけ出していたのだけど…すっかり忘れてしまった。
覚えてるのは ISO 639 …。
MSDNを検索するも…それらしいものはヒットせず。
4月くらいのノートを漁っても記述はなし。
さらに、このブログを調べてみるも…無かった。


最終的には、『ISO639』というキーワードを頼りに、PlatformSDKのincludeディレクトリをgrep検索。
めでたくヒット。
LOCALE_SISO639LANGNAME
定数。
その下の行に
LOCALE_SISO3166LANGNAME
も発見。
この2つがあれば、ja_JPという記述が取得可能。


TCHAR szISO639[8], szISO3166[8], szLCText[16];
GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, szISO639, 8);
GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SISO3166LANGNAME, szISO3166, 8);
_stprintf_s(szLCText, 16, _T("%s_%s"), szISO639, szISO3166);

いま、チェックもしないで書き出したのでうまく動くかは不明だけど、こんな感じで取得可能。
一応、備忘録ってことで。

コメントを残す

メールアドレスが公開されることはありません。