gee*_*n92 5 c++ simulator keydown sendinput
我有一段代码,它使用 SendInput 发送按键,但当我想长时间按住某个键时它不起作用(例如,长时间按住“a”会在记事本中返回“aaaaaaaaa”)。
现在我已经查遍了谷歌,我能看到解决这个问题的唯一方法是如果我想要长时间保留,则继续发送输入。我不想这样做,因为这只会模拟“a”被一遍又一遍地按下。
keyboard.wVk = 0;
keyboard.wScan = MapVirtualKey(key, 0);
keyboard.dwFlags = KEYEVENTF_SCANCODE;
if (index_vector_no)
pressed[index_vector_no] = true;
keyboard.dwExtraInfo = 0;
input.type = INPUT_KEYBOARD;
input.ki = keyboard;
SendInput(1, &input, sizeof (input));
Run Code Online (Sandbox Code Playgroud)
所以我想知道以下问题的一些答案:
A)我是否正确地认为使用 SendInput 没有办法解决这个问题,为什么它不能长时间保持?
B) 成功发送按键按下和按键抬起信号的替代方法是什么?最好将密钥发送到窗口,而不仅仅是发送到特定的应用程序。
C) 是否有一个好的轻量级 C++ 库可以用来处理全局键盘和鼠标模拟?
提前致谢!=)
编辑:看看这篇文章以了解我的问题的更多详细信息:http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_20833788.html
| 归档时间: |
|
| 查看次数: |
4125 次 |
| 最近记录: |