【问题标题】:Checking the regional settings检查区域设置
【发布时间】:2011-04-12 08:26:57
【问题描述】:

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

这样做的目的是了解这台计算机是否可能(我不需要 100% 确定,可能已经足够好)为俄罗斯人所有。这个想法是检查区域设置是否设置为俄语,和/或是否安装了俄语键盘布局,因为它们都可能存在于俄罗斯人拥有的计算机中,但不太可能存在于计算机上例如,由美国人拥有。

顺便说一句,这不是关于俄罗斯的,而是我要检查的其他国籍,我只是将其用作示例。

我如何检查这些?

【问题讨论】:

  • 您能给我们一个更好的说明吗?例如,基于 GeoIP 的解决方案对您有意义吗?看看我的俄罗斯同事,我看不到他们中的任何一个使用俄语键盘。
  • @msalters 究竟什么是 GeoIP?我尝试在谷歌中粗略搜索,但没有找到任何有用的东西。

标签: c++ winapi mfc


【解决方案1】:

National Language Support Functions 是一个很好的起点。

您需要决定您想要哪些信息 - 您可以检查哪些语言环境已存在、已安装、系统默认、用户默认或线程的活动。 GetThreadLocale 将告诉您线程的活动区域设置,GetUserDefaultLCIDGetSystemDefaultLCID 将告诉您默认值,EnumSystemLocales 函数将让您查看存在/安装了哪些区域设置,或者您可以使用 IsValidLocale 检查如果安装了特定的语言环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-19
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    相关资源
    最近更新 更多