伪造键盘或鼠标事件

5
我一直在尝试想出如何伪造键盘和鼠标输入,而不是模拟它们。我的意思是系统会像实际事件发生一样进行处理(例如鼠标点击),但实际上并不执行该事件(例如鼠标点击)。或者,如果您想让系统认为鼠标已移动,即使没有移动,也可以实现一种“虚拟”移动,它不会实际发生/影响鼠标。是否有可能覆盖模拟鼠标点击和事件,使它们不会实际点击,而系统仍然认为它们已经点击了呢?

抱歉 @LarsTech,这是一个普通的Windows窗体应用程序。我会去检查一下Thomas,感谢您的快速回复! - user3470887
3
你可以直接调用这个方法。例如:OnMouseClick(new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0)); - LarsTech
1
Windows本质上是一个基于事件的系统。如果Windows“认为”您点击了一个按钮,那么它将通知所有订阅该事件的进程,并且这些进程可以执行任何操作。您基本上要做的是创建一个事件,但抑制该事件的通知。 - Icemanind
@Icemanind,是否可以进行抑制? - user3470887
2
我非常好奇,你能用这个实现什么? - loli
显示剩余9条评论
2个回答

1
这是一个包装键盘和鼠标的不错项目。这里有模拟鼠标输入文件可供参考。要查看更低级别的操作,请转到该项目中的WindowsInput.Native命名空间。

我还没有找到时间来更新这个,但我确实找到了它,而且它完全符合我的需求。我已经使我的实现正确工作了。谢谢您的回复! - user3470887

0

感谢大家的帮助。最终我通过lrb的答案实现了我想要的。

我使用了那个库来模拟输入,而在整个计划中,我试图制作一个鼠标晃动器,但不会实际影响用户的鼠标,以防应用程序在用户使用鼠标时运行。这就是为什么我想要“伪造”鼠标而不是移动实际鼠标。再次感谢一切,这太棒了。

Icemanind,我仍然对您订阅事件而不是具有事件处理程序的想法很感兴趣。这将允许我诱导类似于鼠标单击的操作,而不实际点击,对吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接