gpt4 book ai didi

delphi - 如何在Windows 7或更高版本中正确获取系统语言

转载 作者:行者123 更新时间:2023-12-02 05:52:35 26 4
gpt4 key购买 nike

我需要提取用户的 Windows 语言,我正在使用下面的函数。然而我在我当前的机器上进行了测试(它是英语),但函数返回是“葡萄牙语(巴西)”。

实际上我的机器最初是这种语言的,但是在我安装了新的语言包之后,它现在是英语,而不是葡萄牙语;所以我假设下面的功能无法正常工作。还有其他选择吗?

谢谢

function GetWindowsLanguage: string;
var
WinLanguage: array [0..50] of char;
begin
VerLanguageName(GetSystemDefaultLangID, WinLanguage, 50);
Result := StrPas(WinLanguage);
end;

最佳答案

为了获取有关当前用户 Windows UI 使用哪种语言的信息,您应该使用 GetUserDefaultUILanguage函数而不是 GetSystemDefaultLangID

如果当前用户未设置任何语言,则返回系统默认 UI 语言。

对于 Delphi 2007,您需要声明该函数,因为该函数在该版本发布时不存在。请注意,如此处所示静态执行此操作将意味着您的应用程序将不再在 Windows 2000 之前的 Windows 版本上运行。

function GetUserDefaultUILanguage: LANGID; stdcall; external 'kernel32';

function GetUsersWindowsLanguage: string;
var
WinLanguage: array [0..50] of char;
begin
VerLanguageName(GetUserDefaultUILanguage, WinLanguage, 50);
Result := WinLanguage;
end;

关于delphi - 如何在Windows 7或更高版本中正确获取系统语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55810828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com