如何获得时间语言信息?(windows, c++)
How to get ime language info?( windows, C++ )
我需要在Windows中获得当前选择的IME语言设置。
我已经找到了immgetconveronstatus(),但它不返回当前选择的语言。
虽然这个问题在很久以前就被问过了。我相信你可能已经自己解决了。:)
你试过吗?:如果在Windows 7上:GetUserDefaultLocaleName函数语法:
int GetUserDefaultLocaleName(
__out LPWSTR lpLocaleName,
__in int cchLocaleName
);
lpLocaleName保存当前区域性。
检查文档:http://msdn.microsoft.com/en-us/library/dd318136%28VS.85%29.aspx
只是供参考,也检查一下这些:http://msdn.microsoft.com/en-us/library/dd318135%28VS.85%29.aspx还有'support.microsoft.com/kb/193080'
基于此:
https://stackoverflow.com/a/12954320/964053…你必须这样做:
HWND fore = GetForegroundWindow(); // Every window has it's own current language (keyboard layout)
DWORD tpid = GetWindowThreadProcessId(fore, 0);
HKL hKL = GetKeyboardLayout(tpid);
WORD wd;
ToAsciiEx(VirtualKey, ScanCode, KeyState, (LPWORD)&wd, 0, hKL);
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux for Windows上编译C++代码时出错
- 在Windows上用C++裁剪HBITMAP
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- Windows/Cygwin - 不能使用 pybind11 - 犯错误
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 在Windows中以.exe的形式运行c++
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 无法在windows控制台中为C++程序提供必要的输入
- 在Windows中查找扬声器输出的当前音量级别
- Windows.h与GLFW.h的接口
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- c++17文件系统::recursive_directory迭代器()在mac上没有给出这样的目录,但在windows上
- 无法使用Qt Creator在Windows中构建yaml-cpp