Что нового

Запретить ControlClick вытаскивать найденное окно наверх для совершения клика

eliont

Новичок
Сообщения
1
Репутация
0
Доброе время суток. Можно ли запретить ControlClick вытаскивать найденное окно наверх для совершения клика, а чтобы он щелкал в фоне или в свёрнутом окне ?

Сам по себе нижеприведённый код работает, но принудительно вытаскивает браузер на передний план если он на фоне и не делает ничего если свёрнут.

Код:
#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 (стимовский) например почему-то регистрирует клики вообще только когда мышка находится в границах окна игры и при этом игнорирует указанную позицию а кликает там где курсор стоит, но не двигает его.
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
eliont [?]
принудительно вытаскивает браузер на передний план если он на фоне и не делает ничего если свёрнут
Это особенности работы Google Chrome: Ответ #1

игнорирует указанную позицию а кликает там где курсор стоит
Это тоже особенность работы приложения - простейшая защита от ботов. Программа при обработке события клика берёт координаты не из сообщения, а из реального положения курсора мыши. Иногда ещё могут проверять состояние окна: если обнаружен клик при неактивном окне - предупреждение, если при свёрнутом - сразу бан ;)
 
Сообщения
142
Репутация
-3
Re: Запретить ControlClick вытаскивать найденное окно наверх для совершения

InnI [?]
при свёрнутом - сразу бан
wink.gif
OffTopic:
Это где так?

Вообще в кликерах вижу смысл только, как упражнение для написания бота. Они так и просят этого. Не понимаю тех, кто в них "играет".
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Всё решается запуском бота на отдельном хосте
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
А каких подробностей вы ожидали?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
как починить карбюратор? - ключом. - а поподробней? - ключом откручиваешь гайки.
Береёшь отдельный хост, ставишь туда венду, ставишь туда нужное тебе приложение, автоматизируешь его не заморачиваясь за то что она вылазит на первый план.
 
Верх