由于$hwnd
参数,我认为PixelSearch()
应该在非活动窗口上工作,但我不能这样做。当另一个窗口放在要搜索的窗口前面时,它会失败。
我的剧本:
$hwnd = WinGetHandle("[CLASS:MSPaintApp]")
$Cor = PixelSearch(0, 0, @DesktopWidth, @DesktopHeight, 0x39B6EF, 0, 1, $hwnd)
If Not @error Then
MouseMove($Cor[0], $Cor[1])
Else
MsgBox(0, "", @error)
EndIf
如何在非活动窗口上进行此操作?
答案 0 :(得分:0)
确保您要搜索的窗口处于活动状态(如果我正确阅读了问题)的简单修复。 WinActive
检查窗口是否处于活动状态,以及窗口是否为0(未激活)。然后,我们使用WinActivate
激活窗口。
Local $hwnd, $Cor
$hwnd = WinGetHandle("[CLASS:MSPaintApp]")
If WinActive($hwnd) = 0 Then
WinActivate($hwnd)
EndIf
$Cor = PixelSearch(0, 0, @DesktopWidth, @DesktopHeight, 0x39B6EF, 0, 1, $hwnd)
If Not @error Then
MouseMove($Cor[0], $Cor[1])
Else
MsgBox(0, "", @error)
EndIf