我对第二个参数(bScan)有一些了解。
我的目标是为每个按钮找到合适的bScan代码。
VOID WINAPI keybd_event(
_In_ BYTE bVk,
_In_ BYTE bScan,
_In_ DWORD dwFlags,
_In_ ULONG_PTR dwExtraInfo
);
keybd_event function Microsoft
我已经读过键5的按钮有bScancode - 十六进制数:0x86。但我对如何找到bScan代码非常感兴趣。
KeyCode = '5'
keybd_event(VkKeyScan(KeyCode), 0x86, 0, 0); // ‘5’ Press
keybd_event(VkKeyScan(KeyCode), 0x86, KEYEVENTF_KEYUP, 0); // ‘5’ Release
MapVirtualKey()函数看起来很有趣,但不幸的是我得到了5的输出。我想我误解了一些东西。有人会开导我吗?非常感谢你。
UINT scanCode = MapVirtualKey('5', MAPVK_VK_TO_VSC);
答案 0 :(得分:0)
扫描代码取决于您的硬件。 5
/ %
通常为0x06,MapVirtualKey('5', MAPVK_VK_TO_VSC)
确实在我的机器上返回0x06。
释放密钥时,顶部位(0x80)置位,因此5
键的扫描码为0x06,密钥为0x86。