var
pLCData: array [0..255] of Char;
I: Integer;
begin
ZeroMemory(@pLCData, SizeOf(plCData));
I := Windows.GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,
LOCALE_SLANGUAGE, pLCData, SizeOf(pLCData));
ShowMessage(strpas(pLCData));
end;
不过最好是使用
GetSystemDefaultLangID
得到的结果是WORD值,高字节表示语系
常用的有:
$0804 中文(中国)
$0404 中文(台湾)
$0411 日本语
$0412 朝鲜语
$0409 英语(美国)
通常系统当中分两个部分设置一个是UserDefault一个是SystemDefault,相对Win2k以上系统而言,改变UserDefault只会影响资源管理器及桌面等的设置,不会影响到用户应用程序(最新Windows系统除外),只有SystemDefault才影响除资源管理器及桌面等以外的用户应用程序.