keybd_event对于Shift+left(right)组合键模拟的问题
mob 发布于 2022-12-04

keybd_event可用于键盘输入的模拟,对于大部分的键盘输入没有问题,对于组合键的模拟也可以,如Shift+1(!),Shift+2(@),Shift+3(#),这些都能正确模拟输入,

但测试过程发现了对于Shift+箭头或者End这几个不起作用,在文本文件中没有选择上,但各自独立的执行了,例如Shift模拟按下,但不key_up,则Shift键还是按下状态,而箭头键(左上右下)或者End键的操作也执行了,但没有组合执行,和我们真实的输入效果不一致,需要使用KEYEVENTF_EXTENDEDKEY,如下:

keybd_event(VK_LSHIFT, 0, KEYEVENTF_EXTENDEDKEY|0, 0);  如果使用keybd_event(VK_LSHIFT, 0, 0, 0);则有问题

 

mob
关注 私信
文章
61
关注
0
粉丝
0