c++ - 检查区域设置

标签 c++ winapi mfc

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

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

顺便说一句,这与俄罗斯无关,我将检查其他国籍,我只是以此为例。

我如何检查这些?

最佳答案

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

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

关于c++ - 检查区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5632373/

相关文章:

c++ - 调用SDL_CreateTextureFromSurface时SDL崩溃

c++ - 监视剪贴板更改 c++ 对于所有应用程序 (Windows)

c++ - MFC如何将两个对话框合并为一个对话框?

c++ - 在 MFC 6.0 中构建 MFC 4.1 项目时出错

使用模板化类的 C++ 多态克隆。不能将克隆的对象用作函数中的参数

c++ - std::make_shared 三元返回不编译

java - Qt 使用多于 1 个参数调用 java 方法

c++ - 获取当前用户的所有进程

c++ - 如何判断一个文件或文件夹是在固态硬盘上还是在硬盘上?

c++ - 在 Debug模式下使用针对 XP (v141_xp) 的 Visual C++ 2017 链接 ODBCCP32.lib 时出现 LNK1103