使用SendInput API的最佳做法

时间:2013-01-06 17:03:15

标签: c++ winapi sendinput

我正在开发一个自动化测试库,并希望使用SendInput Win32 API模拟鼠标和键盘输入。此API允许在一次调用API中推送多个输入项。使用SendInput在整个Web中有许多其他示例和类似的库。他们中的许多人为每次调用API传递一个输入操作。批量输入或每次调用SendInput使用单个输入有什么好处吗?文档似乎没有提供指导,或者我可能误读了它。

1 个答案:

答案 0 :(得分:0)

我所知道的一种技术与另一种技术没有实际的好处。在任何一种情况下,SendInput的常见潜在问题是输入焦点可能在您发送输入和目标应用程序接收输入之间发生变化。经典的例子是一个异步出现的模态对话框,提醒用户注意某些问题,并最终窃取焦点,并吸收应该转移到其他地方的剩余输入。在这种情况下,执行连续的SendInputs系列与单个SendInput之间没有区别。

(我很确定在内部,SendInput只是循环传递给它的输入......)