查找关于当前键盘布局的char的可能组合键

时间:2015-05-09 12:55:00

标签: c# c++ keyboard

如何找到与当前键盘布局相关的char的可能组合键

例如

;

假设键盘的大写锁定已关闭 因此,对于char" A"组合键应为Shift + A

这很容易。键盘上的非ascii字符或非可见字符如" @" char或" \"

for "@" I use Ctrl + Alt + Q
for "\" I use Ctrl + Alt + *
for "{" I use Ctrl + Alt + 7

那么我怎么知道应该将哪个组合键发送到应用程序以使其处理" {"假设应用程序验证该组合以确定我是机器人还是人类。

提前致谢

1 个答案:

答案 0 :(得分:0)

在Windows中,您可以使用VkKeyScan(char ch)功能。它返回一个short值,其中包含低位字节上的虚拟键代码和高位字节上的修饰键标记。

您可以通过声明:

在C#中调用它
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
static extern short VkKeyScan(char ch);

以下是文档的链接:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms646329%28v=vs.85%29.aspx