首页 > 解决方案 > Windows:如何检测键盘布局 3 字符缩写的本地化语言名称,如任务栏上的输入指示器中所示

问题描述

我正在创建一个库,以便轻松检测活动线程的各种键盘布局信息。它借助 GetKeyboardLayout、GetKeyboardLayoutName、ResolveLocaleName、GetLocaleInfoEx 检测布局语言代码、显示名称、语言名称、国家(本地化和否)等。

但是我仍然无法理解的一件事是如何获得 Windows 任务栏上显示的本地化语言代码,即,当我将布局切换到英语时,它显示“ENG”并切换到俄语它显示“РУС”(“RUS”但是相应地本地化为俄罗斯语言)。

使用 GetLocaleInfoEx 和 LOCALE_SISO639LANGNAME2 我得到了用户当前选择的语言环境(用于当前活动窗口)的 3 个字符的缩写语言名称,但只有英语 - 相应的“ENG”和“RUS”。那么,如何以所选语言/区域设置获得它?

标签: c++visual-c++

解决方案


推荐阅读