如何将鼠标和键盘事件发送到另一个进程?

时间:2009-10-31 17:50:26

标签: c# windows events

我们假设我们有2个窗口进程,

进程A是发送方,进程B是接收方。

进程B正在运行经典的Win32 API事件循环

如何生成和发送从进程A到B的鼠标和键盘事件?

3 个答案:

答案 0 :(得分:4)

基本上通过SendMessagePostMessage。如果您想模拟整个操作系统的输入事件,那么SendInput可能会很有趣。

答案 1 :(得分:1)

您可能想要在Codeplex中检查TestAPI,它包含一些包装SendMessage和PostMessage API的{C#}(http://testapi.codeplex.com/SourceControl/changeset/view/35517#424245

答案 2 :(得分:1)

TestApi实际上在内部包装了SendInput,并公开了几个简单的类 - 鼠标键盘 - 来帮助您模拟输入。 SendInput提供了注入输入的最常用方法,但是使用的是一个非常棘手的API - 包装器大大简化了使用。

有关具体用法示例,请参阅http://blogs.msdn.com/b/ivo_manolov/archive/2008/12/15/9223397.aspx