【发布时间】:2022-03-08 00:28:48
【问题描述】:
我正在用 VC++ 编写一个小工具来记录击键以便稍后重放它们,一个宏记录器。它已经很好地工作了,使用一个键盘钩子函数来读取每个按键按下和释放事件。播放与 SendInput() 函数一起使用,并且通常也可以正常工作 - 除了重复击键。每次松开后按几次键是没有问题的。但是按住它,对于重复输入的字符,可以记录但只能在某些应用程序中重放。有些接受并多次输入字符,有些只输入一次。 (它是可重现的。)宏记录器本身也通过它的监控钩子在回放期间看到按住的键被按下了一次。
那么,我怎样才能让 SendInput 发送单个键的多个后续击键,而不在两者之间添加我自己的键释放事件?发送 [press] [press] [press] ... [release] 序列并不总是有效。
【问题讨论】: