我的应用程序不能识别来自SendKeys或SendInput的击键,但可以识别来自键盘的击键
本文关键字:识别 键盘 但可以 应用程序 不能 SendKeys 我的 SendInput | 更新日期: 2023-09-27 18:08:24
我有一个本地的应用程序(主),有一堆热键定义。我需要与另一个外部应用程序(控制)自动化的应用程序。我不能重建主应用程序,它运行,已经安装,不能乱动。
如果我使用键盘,在Master上使用热键就像有魅力一样。
所以,我想我可以使用SendKeys。SendWait或SendKeys。Send发送命令。虽然我的代码可以很好地与其他应用程序(如记事本),但它不能与我的自定义应用程序,主工作。这可能有很多原因——Master更老,有。net和c++的混合……一些低水平的视频控制…谁知道被子下面有什么。
我需要更高级的东西。我需要能够发送击键,如果他们是来自键盘本身。我不希望计算机能够区分物理键盘发送的按键和我的应用程序发送的按键。
我可以用什么,它有什么不同?
问题不是SendKeys。
我尝试了SendKeys。发送,SendKeys。SendWait, SendInput和keybd_event.
我后来意识到激活应用程序和发送击键之间的时间太短了。我的等待时间是200ms,但只需将其增加到500ms,我就解决了问题。
由于嵌入了视频播放器,应用程序需要很长时间来绘制。再给它300ms,让它为我发送的按键做好准备。