C++ 使用SetLocaleInfo设置UI语言窗口
我想更改windows系统的默认语言。在powershell中,有一种方法可以使用C++ 使用SetLocaleInfo设置UI语言窗口,c++,windows,powershell,winapi,C++,Windows,Powershell,Winapi,我想更改windows系统的默认语言。在powershell中,有一种方法可以使用 设置WinUILanguageOverride-语言de(将语言更改为德语) 然而,我正在寻找一个相同的win32 api调用。尝试了SetLocaleInfo,但它不起作用。由于SetLocaleInfo失败,下面的代码打印0GetLastError()返回了ERROR\u无效\u标志,但不确定需要在此处显示哪个标志。谢谢 int main() { LCID lcid = GetSystemDefaul
设置WinUILanguageOverride-语言de
(将语言更改为德语)
然而,我正在寻找一个相同的win32 api调用。尝试了SetLocaleInfo
,但它不起作用。由于SetLocaleInfo失败,下面的代码打印0GetLastError()
返回了ERROR\u无效\u标志
,但不确定需要在此处显示哪个标志。谢谢
int main()
{
LCID lcid = GetSystemDefaultLCID();
cout << "system default >> " << lcid << endl;
wstring regionCode;
//Tatar Russia
lcid = 1092;
regionCode = L"0x0444";
cout << "Tatar Russia " << SetLocaleInfo(lcid, LOCALE_FONTSIGNATURE | LOCALE_SISO639LANGNAME, regionCode.c_str()) << endl;
return 0;
}
intmain()
{
LCID LCID=GetSystemDefaultLCID();
cout正如@Petesh所说,您使用的两个LCType
对于SetLocaleInfo
函数无效,并且对于SetLocaleInfo
没有可以设置windows系统UI语言的有效标志
根据报告:
用户界面语言
要检索用户UI语言,应用程序可以调用或。应用程序无法更改用户UI语言,因为没有设置该语言的函数
因此,没有合适的Windows32 API可以修改windows系统的UI语言。表示您传递的两个标志对GetLocaleInfo
有效,而对SetLocaleInfo
无效。知道什么是有效标志吗?