C ++ vkCode / ScanCode为特定于国家/地区且区分大小写的字符

时间:2016-11-07 12:54:35

标签: c++ windows

我在很多不同的地方搜索过,但没有找到任何确凿的答案,所以我在这里问。

我必须将一个基本的Windows键盘记录器作为学校项目。

我设法设置它,并且它运作良好。它记录字符和死键。

我的问题是处理区分大小写和特定国家/地区的输入。我可以将SHIFT键状态很好地转换为它们的大写/小写等价物,但我实际上无法知道它对应的大写/小写等价物。

示例:我正在使用法语AZERTY键盘。数字可以通过SHIFT +&,SHIFT +é等编写。

Here are the results my keylogger displays when trying to log numbers 1 to 5, first via SHIFT + Number and then by using CAPS LOCK.

如果我切换到英文QWERTY键盘,它可能会正常工作,显示数字(但我不能访问其他字符,如括号)。

有没有办法获取给定ScanCode / vkCode的所有可能键的列表,具体取决于键盘的类型?

Here's a part of my code for the Callback function, and the translation of keys to strings.

这是我第一次使用Windows的C ++ API,所以我对它并不是很了解。

0 个答案:

没有答案