查找有关当前键盘布局的字符的可能组合键
Finding possible key combination of a char regarding current keyboard layout
如何找到与当前键盘布局相关的可能的字符组合键
例如;
假设我键盘的大写锁定已关闭
所以在那种情况下,对于 char "A" 组合键应该是 Shift + A
这很容易。键盘上的非 ascii 字符或不可见字符(如“@”字符或“\”
怎么样?
for "@" I use Ctrl + Alt + Q
for "\" I use Ctrl + Alt + *
for "{" I use Ctrl + Alt + 7
假设应用程序验证该组合以确定我是机器人还是人类,那么我怎么知道我应该将哪个组合键发送给应用程序以使其处理“{”键。
提前致谢
在Windows中你可以使用VkKeyScan(char ch)
函数。它 returns 一个短值,在低位字节上包含虚拟键码,在高位字节上包含修饰键标志。
您可以通过声明在 C# 中调用它:
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
static extern short VkKeyScan(char ch);
这是文档的 link:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646329%28v=vs.85%29.aspx
如何找到与当前键盘布局相关的可能的字符组合键
例如;
假设我键盘的大写锁定已关闭 所以在那种情况下,对于 char "A" 组合键应该是 Shift + A
这很容易。键盘上的非 ascii 字符或不可见字符(如“@”字符或“\”
怎么样?for "@" I use Ctrl + Alt + Q
for "\" I use Ctrl + Alt + *
for "{" I use Ctrl + Alt + 7
假设应用程序验证该组合以确定我是机器人还是人类,那么我怎么知道我应该将哪个组合键发送给应用程序以使其处理“{”键。
提前致谢
在Windows中你可以使用VkKeyScan(char ch)
函数。它 returns 一个短值,在低位字节上包含虚拟键码,在高位字节上包含修饰键标志。
您可以通过声明在 C# 中调用它:
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
static extern short VkKeyScan(char ch);
这是文档的 link:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646329%28v=vs.85%29.aspx