Windows 我应该编写什么类型的驱动程序来模拟鼠标输入,就像它是由真实设备发出的一样?

Windows 我应该编写什么类型的驱动程序来模拟鼠标输入,就像它是由真实设备发出的一样?,windows,driver,Windows,Driver,出于测试目的,我需要找到一种方法来移动鼠标指针并触发单击和滚动事件,就像它对使用真实设备的真实用户所做的那样(从输入源的角度来看,而不是数据模式) 理想情况下,我想要一个能够从用户空间应用程序接收指令的驱动程序,比如“将指针移动到(x,y)”或“向下滚动0.3秒”。如果我理解正确,这种通信可以通过IOCtl实现 我读过微软的几篇文章,所以我知道有WDM和WDF,过滤驱动程序和函数驱动程序,内核模式和用户模式,还有HID,它的报告看起来像我可以使用的东西。这个字段太大了-我需要建议如何解决我的简单

出于测试目的,我需要找到一种方法来移动鼠标指针并触发单击和滚动事件,就像它对使用真实设备的真实用户所做的那样(从输入源的角度来看,而不是数据模式)

理想情况下,我想要一个能够从用户空间应用程序接收指令的驱动程序,比如“将指针移动到(x,y)”或“向下滚动0.3秒”。如果我理解正确,这种通信可以通过IOCtl实现


我读过微软的几篇文章,所以我知道有WDM和WDF,过滤驱动程序和函数驱动程序,内核模式和用户模式,还有HID,它的报告看起来像我可以使用的东西。这个字段太大了-我需要建议如何解决我的简单问题(基本上,将光标移动到一个点)。

谢谢,我知道SendInput。假设有两个应用程序A和B。如果A使用SendInput来模拟B中的鼠标事件,B有可能知道吗?可能有一些方法可以读取设备状态并得出设备空闲或类似的结论。这很难做到,并非完全不可能。目的当然是让它看起来像是来自驱动程序的输入。你有一个基本的选择,就是在接下来的三个月内不做任何事情,或者明天做。我明白你的意思。问题是,我实际上需要指出,所提到的quality+SendInput可能不适用于某些应用程序()。嗯,它不适用于那些喜欢在多人游戏中使用它作弊的人。这种游戏有朋克风格的对策,很容易使用原始输入完成。如果这是真正的问题,那么只要访问他们常去的论坛就可以找到他们使用的buster buster工具。