2011-04-12 185 views
1

在我的应用程序中,我需要检查它在运行的计算机上的区域设置是否为俄语。另外,我需要知道是否安装了俄文键盘布局。检查区域设置

这背后的意图是知道这台电脑是否可能(我不需要100%确定,可能是足够好的)归俄罗斯所有。这个想法是检查区域设置是否设置为俄语,并且/或者是否安装了俄语键盘布局,因为这些都可能存在于俄语拥有的计算机中,但不可能存在于计算机上由美国人拥有。

顺便说一句,它不是真的关于俄语,这是我会检查的其他国籍,我只是用它作为一个例子。

我该如何检查这些?

+0

可能的重复:http://stackoverflow.com/questions/1322578/win32-api-for-getting-the-languagelocalization-info-of-the-os – dwo 2011-04-12 08:31:33

+0

您能否给我们一个更好的指示?例如,基于GeoIP的解决方案对您有意义吗?看着我的俄罗斯同事,我看不出有俄罗斯的键盘。 – MSalters 2011-04-12 11:16:30

+0

@msal什么是GeoIP?我在谷歌尝试了一个粗略的搜索,但它没有发现任何有用的东西。 – sashoalm 2011-04-12 12:59:07

回答

1

National Language Support Functions是一个很好的开始。

您需要决定您想要的信息 - 您可以检查哪些语言环境是现有的,已安装的,系统默认的,用户默认的或主动的线程。 GetThreadLocale会告诉你一个线程的活动语言环境,GetUserDefaultLCIDGetSystemDefaultLCID会告诉你默认值,EnumSystemLocales函数可以让你看到哪些语言环境存在/被安装,或者你可以使用IsValidLocale来检查是否安装了特定的语言环境。