Windows XP:应用程序只能将此参数设置为 0。此设置会使函数选择最支持控制台显示的语言。有关详细信息,请参阅备注部分。
它后来继续(相当隐藏在段落中间):
(...) Windows XP 不支持与线程语言环境分离的线程用户界面语言的概念。因此,此函数会更改 Windows XP 上的线程区域设置。(...)
这实际上似乎是发生了什么,也就是说,SetThreadUILanguage
在 Windows XP 上调用似乎等于调用SetThreadLocale
,而在 Vista+ 上它似乎导致与调用基本相同的事情SetThreadPreferredUILanguages
(这在 XP 上根本不可用)。
文档对我来说很清楚,所以我的基本问题可能是:我是否应该调用SetThreadUILanguage
Windows XP 来更改(首选)UI 语言,这是否正确记录在某处,在 Windows 7 上,我应该调用这个功能,还是我应该打电话SetThreadPreferredUILanguages
?