发送/发布消息到其他应用程序

时间:2013-08-06 15:21:35

标签: c# messaging autohotkey

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

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

注意: 请不要误解,我想检测像素而非Click的原因是因为该按钮没有Class ID。

1 个答案:

答案 0 :(得分:1)

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

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

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

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