我想知道是否可以在其他应用程序中使用SendMessage
和PostMessage
使用/在其他应用程序中,即使它没有被激活,或者以某种方式与该应用程序交互而不会打扰用户......
到目前为止,我想做的只是在特定坐标处检测像素,而不是单击特定坐标。
注意: 请不要误解,我之所以要检测 Pixels 而不是 Click,是因为按钮没有 Class ID。
我想知道是否可以在其他应用程序中使用SendMessage
和PostMessage
使用/在其他应用程序中,即使它没有被激活,或者以某种方式与该应用程序交互而不会打扰用户......
到目前为止,我想做的只是在特定坐标处检测像素,而不是单击特定坐标。
注意: 请不要误解,我之所以要检测 Pixels 而不是 Click,是因为按钮没有 Class ID。
可以使用特定坐标的鼠标点击SendMessage
并将PostMessage
其发送到窗口。要发送的消息类似于WM_LBUTTONDOWN
、WM_LBUTTONUP
和WM_LBUTTONDBLCLK
。这些消息可以在窗口最小化或隐藏的情况下发送。
如果您有 Visual Studio,则包含一个名为 Spy++(和 Spy++ 64 位)的应用程序。如果您使用这些程序并让它们监视目标应用程序的窗口消息,您可以看到手动单击按钮时发送的确切窗口消息。
当窗口由于被最小化、隐藏或被另一个窗口覆盖而不可见时,即使不是不可能,也很难检测到像素。如果应用程序将在 Vista 或更高版本中运行,您可以尝试在应用程序内创建应用程序的DWM 实时缩略图并从那里扫描像素以确定按钮的位置。
希望这些信息可以帮助您入门,或者至少让您知道这可能有多复杂,以便您可以做出明智的决定是否继续。