-1

我想知道是否可以在其他应用程序中使用SendMessagePostMessage使用/在其他应用程序中,即使它没有被激活,或者以某种方式与该应用程序交互而不会打扰用户......

到目前为止,我想做的只是在特定坐标处检测像素,而不是单击特定坐标。

注意: 请不要误解,我之所以要检测 Pixels 而不是 Click,是因为按钮没有 Class ID。

4

1 回答 1

1

可以使用特定坐标的鼠标点击SendMessage并将PostMessage其发送到窗口。要发送的消息类似于WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLK。这些消息可以在窗口最小化或隐藏的情况下发送。

如果您有 Visual Studio,则包含一个名为 Spy++(和 Spy++ 64 位)的应用程序。如果您使用这些程序并让它们监视目标应用程序的窗口消息,您可以看到手动单击按钮时发送的确切窗口消息。

当窗口由于被最小化、隐藏或被另一个窗口覆盖而不可见时,即使不是不可能,也很难检测到像素。如果应用程序将在 Vista 或更高版本中运行,您可以尝试在应用程序内创建应用程序的DWM 实时缩略图并从那里扫描像素以确定按钮的位置。

希望这些信息可以帮助您入门,或者至少让您知道这可能有多复杂,以便您可以做出明智的决定是否继续。

于 2013-08-06T19:05:42.463 回答