如何使用Winapi C ++发送shift + down?

时间:2018-09-20 04:16:50

标签: c++ winapi keyboard

使用以下代码

Sleep(3000);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

如果我在睡眠期间将光标放在编辑器中,则希望窗口选择一行文本(因此它是前景窗口)

但是,这只是将光标向下移动了一行。

使用以下方法,但可以肯定的是,这并不是应该的方法。

Sleep(3000);
keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP | KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

它通过使用KEYEVENTF_EXTENDEDKEY标志出现,我可以按住箭头键。但是无论我如何尝试发布它都行不通。但是我可以正常按下并释放它以清除按住的Shift键。

0 个答案:

没有答案