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

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

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

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

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

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

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

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

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