我在Windows上获得已安装语言的列表,代码如下:
var
AList : array [0..9] of LongWord;
AklName: array [0..255] of Char;
i: Longint;
begin
for i:= 0 to GetKeyboardLayoutList(SizeOf(AList), AList)- 1 do
begin
GetLocaleInfo(LoWord(AList[i]), LOCALE_SLANGUAGE, AklName, SizeOf(AklName));
Memo1.Lines.AddObject(AklName, Pointer(AList[i]));
end;
end;
它工作正常,但我想用短名称安装语言,如(英语 - > EN;德语 - > de;波斯语 - > FA),任何人都可以帮我改变这段代码吗?
答案 0 :(得分:3)
而不是LOCALE_SLANGUAGE
,请使用the LOCALE_SISO*
constants之一,可能是LOCALE_SISO639LANGNAME
。
答案 1 :(得分:1)
..或使用LOCALE_SABBREVLANGNAME,但会显示为“ENG”,“RUS”等。