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