1

我知道如何模拟鼠标和键盘事件,但它们的行为就像用户做了它们一样,所以它们会影响活动的窗口。我需要的是模拟其中一个输入,但在一个不活动的窗口中。

我并不是说它被最小化了,例如,想象一下,你有 msPaint 和记事本。记事本在油漆前面。并且您想在绘图窗口的某些坐标中模拟鼠标单击,但不将其设置为活动状态,从而使用户可以继续使用位于绘图前的记事本。

这可能吗?谢谢!

4

2 回答 2

3

您可以执行以下操作:

1)获取HWND要在其中模拟事件的窗口。为此,您可以使用该FindWindow函数,该函数接受两个参数,一个是窗口的类名(您可以使用NULL),另一个是窗口的名称(有关详细信息,请参阅 MSDN 文档);

SendMessage2) 使用函数向所需窗口发送消息。参数为:之前获取的窗口句柄HWND(消息(在这种情况下非常复杂,您应该查看 MSDN 了解详细信息)。WM_KEYDOWNWM_MOUSEMOVEWM_LBUTTONDOWNWPARAMWM_KEYDOWNLPARAMWM_KEYDOWN

在我看来,这对于您打算做的事情已经足够了。

于 2009-04-30T11:31:21.333 回答
0

好吧,如果您了解 JAVA,您可以使用 robots 类。

此类用于生成本地系统输入事件,用于测试自动化、自运行演示和其他需要控制鼠标和键盘的应用程序

Java 机器人类

也许.net中有一些类似的东西?

于 2009-04-30T11:06:58.833 回答