获取区域设置,例如短日期格式,我们一直使用GetLocaleFormatSettings与GetThreadLocale。这直到现在一直没有问题。
我们的一些用户正在获得与Windows 7中的区域设置中配置的内容不一致的GetThreadLocale的不同值。无论我们尝试什么,我们都无法再现这一点,但是我发送了一个用户测试程序来获取区域设置信息,并且确定GetThreadLocale返回与GetUserDefaultLCID(2057)不同的LCID(1033)。因此,它们不是获得英国的区域设置,而是以美国的区域设置为基础。
我们是否正确地收到区域信息?我们应该使用GetUserDefaultLCID而不是GetThreadLocale吗?
谢谢
解决方法
你并不是唯一的一个。我也在Windows 7中看到这个新西兰,似乎只是因为某种原因才能解决Delphi应用程序。
我们发现的奇怪的是,通过控制面板切换到不同的区域设置,然后切换回NZ解决问题。我会好奇地知道,如果同样的解决方法解决了你,只是为了验证我们是否看到同样的现象。
我想知道如果通过Windows 7安装过程选择非美国的区域设置并不是以某种微妙的方式“做正确的事情”,因为某些原因只能跳出Delphi应用程序。
我已经到了JP的类似的测试代码,试图追踪它并找到一个软件解决方法,但是我们的QA的人已经发现了’区域设置切换’的解决方法,他并没有想到完全重新安装Windows 7以获得回来由于某些原因,原来的时髦状态:-)