C++ 在 keybd_event() 上发送带有 WM_KEYDOWN 的虚拟键
C++ sends virtual key with WM_KEYDOWN on keybd_event()
我希望我的程序发送此第三方虚拟密钥 VK_ALOGIN 或 0xf7 WM_KEYDOWN。
所以我尝试以下操作:
keybd_event(0xf7, 0, 0, 0);
但是接收这个键盘消息的程序,它只接收VK_ALOGIN,而不是WM_KEYDOWN。那么我可以用 WM_KEYDOWN 发送 0xf7 吗?
请注意 VK_ALOGIN 不是 Microsoft Virtual Key。
接收者可能正在寻找按键和按键。尝试发送两者。
keybd_event( VK_ALOGIN, 0, 0, 0 );
keybd_event( VK_ALOGIN, 0, KEYEVENTF_KEYUP, 0 );
或
keybd_event( VK_ALOGIN, 0, KEYEVENTF_EXTENDEDKEY, 0 );
keybd_event( VK_ALOGIN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
编辑:我删除了对 SendInput 的引用,因为现在我认为它与问题无关,而且我不确定我是否正确理解了 SendInput。
我希望我的程序发送此第三方虚拟密钥 VK_ALOGIN 或 0xf7 WM_KEYDOWN。
所以我尝试以下操作:
keybd_event(0xf7, 0, 0, 0);
但是接收这个键盘消息的程序,它只接收VK_ALOGIN,而不是WM_KEYDOWN。那么我可以用 WM_KEYDOWN 发送 0xf7 吗?
请注意 VK_ALOGIN 不是 Microsoft Virtual Key。
接收者可能正在寻找按键和按键。尝试发送两者。
keybd_event( VK_ALOGIN, 0, 0, 0 );
keybd_event( VK_ALOGIN, 0, KEYEVENTF_KEYUP, 0 );
或
keybd_event( VK_ALOGIN, 0, KEYEVENTF_EXTENDEDKEY, 0 );
keybd_event( VK_ALOGIN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
编辑:我删除了对 SendInput 的引用,因为现在我认为它与问题无关,而且我不确定我是否正确理解了 SendInput。