Доброе время суток. Можно ли запретить ControlClick вытаскивать найденное окно наверх для совершения клика, а чтобы он щелкал в фоне или в свёрнутом окне ?
Сам по себе нижеприведённый код работает, но принудительно вытаскивает браузер на передний план если он на фоне и не делает ничего если свёрнут.
А в Clicker Heroes (стимовский) например почему-то регистрирует клики вообще только когда мышка находится в границах окна игры и при этом игнорирует указанную позицию а кликает там где курсор стоит, но не двигает его.
Сам по себе нижеприведённый код работает, но принудительно вытаскивает браузер на передний план если он на фоне и не делает ничего если свёрнут.
Код:
#include <WinAPI.au3>
#include <WindowsConstants.au3>
HotKeySet("{F4}","Quit")
Func Quit()
Exit
EndFunc
; http://particle-clicker.web.cern.ch/particle-clicker/
$hCtrl = ControlGetHandle("Particle Clicker - Google Chrome", "", "")
If Not $hCtrl Then Exit ConsoleWrite("Элемент не найден" & @CRLF)
Func MouseLeftClick($hWnd, $X, $Y, $Sleep = 10)
Local Const $MK_LBUTTON = 0x0001
_WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_LBUTTONDOWN))
_WinAPI_PostMessage($hWnd, $WM_LBUTTONDOWN, $MK_LBUTTON, _WinAPI_MakeLong($X, $Y))
Sleep($Sleep)
_WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_LBUTTONUP))
_WinAPI_PostMessage($hWnd, $WM_LBUTTONUP, 0, _WinAPI_MakeLong($X, $Y))
EndFunc
While 1
; MouseLeftClick($hCtrl,799,449)
ControlClick ( "[Class:Chrome_WidgetWin_1; Title:Particle Clicker - Google Chrome]", "", "Chrome_RenderWidgetHostHWND1", "left", 1, 799,449)
sleep (1000)
WEnd
А в Clicker Heroes (стимовский) например почему-то регистрирует клики вообще только когда мышка находится в границах окна игры и при этом игнорирует указанную позицию а кликает там где курсор стоит, но не двигает его.