简体   繁体   English

C ++在keybd_event()上使用WM_KEYDOWN发送虚拟密钥

[英]C++ sends virtual key with WM_KEYDOWN on keybd_event()

I would like my program to send this third party virtual key VK_ALOGIN or 0xf7 with WM_KEYDOWN. 我希望我的程序使用WM_KEYDOWN发送此第三方虚拟密钥VK_ALOGIN或0xf7。

So I try the following: 因此,我尝试以下操作:

keybd_event(0xf7, 0, 0, 0);

But the program that receives this keyboard message, it receives only VK_ALOGIN, and not with WM_KEYDOWN. 但是,收到此键盘消息的程序只接收VK_ALOGIN,而不接收WM_KEYDOWN。 So is it possible that I can send 0xf7 with WM_KEYDOWN? 所以我可以用WM_KEYDOWN发送0xf7吗?

Please note that VK_ALOGIN is not Microsoft Virtual Key. 请注意,VK_ALOGIN不是Microsoft虚拟密钥。

Receiver might be looking for keydown, as well as key up. 接收方可能正在寻找按键按下以及按键按下。 Try sending both. 尝试同时发送。

keybd_event( VK_ALOGIN, 0, 0, 0 );
keybd_event( VK_ALOGIN, 0, KEYEVENTF_KEYUP, 0 );

or 要么

keybd_event( VK_ALOGIN, 0, KEYEVENTF_EXTENDEDKEY, 0 );
keybd_event( VK_ALOGIN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );

Edit: I deleted reference to SendInput because now I think it has nothing to do with the question, and I am not sure if I got SendInput right. 编辑:我删除了对SendInput的引用,因为现在我认为它与问题无关,而且我不确定我是否正确使用了SendInput。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM