Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Omich on May 13, 2019, 06:40:26 PM
-
Я уже обращался за помощью сюда, мне помогли.
Теперь появилась другая проблема с этим скриптом) когда привязываю к окну клавиатура не работает (действия не производятся) как решить?
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 15198207,6248287,5400184,12447743)
SETTHREAD (t1,2)
IF(ISKEYDOWN(#A)=1)
KEYUP(#A)
END_IF
IF(ISKEYDOWN(#D)=1)
KEYUP(#D)
END_IF
IF(ISKEYDOWN(#E)=1)
KEYUP(#E)
END_IF
LCLICK($_return1, $_return2)
WAITMS(10)
ELSE
SETTHREAD (t1,1)
WAITMS(30)
END_IF
THREAD(t1,0)
KEYDOWN(#A)
WAIT(1)
KEYUP(#A)
WAIT(1)
KEYDOWN(#D)
WAIT(1)
KEYUP(#D)
WAIT(1)
KEYPRESS(#E)
WAIT(1)
END_THREAD
-
можно попробовать сделать вот так, только не забудь дескриптор окна в переменную hwnd записать
SUB(_KEYBOARD_EVENT, $event, $key, $hwnd)
$_SUB_DELAY_KEYBOARD_EVENT = 25
SWITCH($event)
CASE("KEYPRESS")
SENDMESSAGE($hwnd, 0x0100, $key, 0)
WAITMS($_SUB_DELAY_KEYBOARD_EVENT)
SENDMESSAGE($hwnd, 0x0101, $key, 0)
CASE("KEYDOWN")
SENDMESSAGE($hwnd, 0x0100, $key, 0)
CASE("KEYUP")
SENDMESSAGE($hwnd, 0x0101, $key, 0)
END_SWITCH
END_SUB
THREAD(t1,0)
_KEYBOARD_EVENT("KEYDOWN", #A, $hwnd)
WAIT(1)
_KEYBOARD_EVENT("KEYUP", #A, $hwnd)
WAIT(1)
_KEYBOARD_EVENT("KEYDOWN", #D, $hwnd)
WAIT(1)
_KEYBOARD_EVENT("KEYUP", #D, $hwnd)
WAIT(1)
_KEYBOARD_EVENT("KEYPRESS", #E, $hwnd)
WAIT(1)
END_THREAD
-
можно попробовать сделать вот так, только не забудь дескриптор окна в переменную hwnd записать
Кликер может возвращать текущий HWND привязанного окна. К тому же описание подпрограммы должно быть внутри потока.
Я уже обращался за помощью сюда, мне помогли.
Теперь появилась другая проблема с этим скриптом) когда привязываю к окну клавиатура не работает (действия не производятся) как решить?
Скрипт что я написал выше не предназначен для оконного режима. Клавиши в оконном режиме не могут быть зажаты командами KEYDOWN но с помощью SENDMESSAGE есть вероятность что будет работать. Все зависит от окна.
Скрипт для оконного режима.
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 15198207,6248287,5400184,12447743)
SETTHREAD (t1,2)
LCLICK($_return1, $_return2)
WAITMS(10)
ELSE
SETTHREAD (t1,1)
WAITMS(30)
END_IF
THREAD(t1,0)
SUB(_KEYBOARD_EVENT, $event, $key)
SWITCH($event)
CASE("KEYPRESS")
SENDMESSAGE($_hwnd, 0x0100, $key, 0)
WAITMS(30)
SENDMESSAGE($_hwnd, 0x0101, $key, 0)
CASE("KEYDOWN")
SENDMESSAGE($_hwnd, 0x0100, $key, 0)
CASE("KEYUP")
SENDMESSAGE($_hwnd, 0x0101, $key, 0)
END_SWITCH
END_SUB
_KEYBOARD_EVENT("KEYDOWN", #A)
WAIT(1)
_KEYBOARD_EVENT("KEYUP", #A)
WAIT(1)
_KEYBOARD_EVENT("KEYDOWN", #D)
WAIT(1)
_KEYBOARD_EVENT("KEYUP", #D)
WAIT(1)
_KEYBOARD_EVENT("KEYPRESS", #E)
WAIT(1)
END_THREAD
-
а ну да, точно. тогда лучше прописать через директиву #include
-
можно попробовать сделать вот так, только не забудь дескриптор окна в переменную hwnd записать
Кликер может возвращать текущий HWND привязанного окна. К тому же описание подпрограммы должно быть внутри потока.
Я уже обращался за помощью сюда, мне помогли.
Теперь появилась другая проблема с этим скриптом) когда привязываю к окну клавиатура не работает (действия не производятся) как решить?
Скрипт что я написал выше не предназначен для оконного режима. Клавиши в оконном режиме не могут быть зажаты командами KEYDOWN но с помощью SENDMESSAGE есть вероятность что будет работать. Все зависит от окна.
Скрипт для оконного режима.
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 15198207,6248287,5400184,12447743)
SETTHREAD (t1,2)
LCLICK($_return1, $_return2)
WAITMS(10)
ELSE
SETTHREAD (t1,1)
WAITMS(30)
END_IF
THREAD(t1,0)
SUB(_KEYBOARD_EVENT, $event, $key)
SWITCH($event)
CASE("KEYPRESS")
SENDMESSAGE($_hwnd, 0x0100, $key, 0)
WAITMS(30)
SENDMESSAGE($_hwnd, 0x0101, $key, 0)
CASE("KEYDOWN")
SENDMESSAGE($_hwnd, 0x0100, $key, 0)
CASE("KEYUP")
SENDMESSAGE($_hwnd, 0x0101, $key, 0)
END_SWITCH
END_SUB
_KEYBOARD_EVENT("KEYDOWN", #A)
WAIT(1)
_KEYBOARD_EVENT("KEYUP", #A)
WAIT(1)
_KEYBOARD_EVENT("KEYDOWN", #D)
WAIT(1)
_KEYBOARD_EVENT("KEYUP", #D)
WAIT(1)
_KEYBOARD_EVENT("KEYPRESS", #E)
WAIT(1)
END_THREAD
Теперь когда привязываю к окну не работают клики
-
SUB(_MOUSE_EVENT, $event, $x, $y, $_hwnd)
$_SUB_DELAY_MOUSE_EVENT = 25
SWITCH($event)
CASE("LCLICK")
SENDMESSAGE($_hwnd, 0x0201, 0x0001, $x + ($y*65536))
WAITMS($_SUB_DELAY_MOUSE_EVENT)
SENDMESSAGE($_hwnd, 0x0202, 0x0001, $x + ($y*65536))
CASE("RCLICK")
SENDMESSAGE($_hwnd, 0x0204, 0x0002, $x + ($y*65536))
WAITMS($_SUB_DELAY_MOUSE_EVENT)
SENDMESSAGE($_hwnd, 0x0205, 0x0002, $x + ($y*65536))
CASE("MCLICK")
SENDMESSAGE($_hwnd, 0x0207, 0x0010, $x + ($y*65536))
WAITMS($_SUB_DELAY_MOUSE_EVENT)
SENDMESSAGE($_hwnd, 0x0208, 0x0010, $x + ($y*65536))
CASE("DBLCLICK")
SENDMESSAGE($_hwnd, 0x0203, 0x0001, $x + ($y*65536))
CASE("LDOWN")
SENDMESSAGE($_hwnd, 0x0201, 0x0001, $x + ($y*65536))
CASE("LUP")
SENDMESSAGE($_hwnd, 0x0202, 0x0001, $x + ($y*65536))
CASE("RDOWN")
SENDMESSAGE($_hwnd, 0x0204, 0x0002, $x + ($y*65536))
CASE("RUP")
SENDMESSAGE($_hwnd, 0x0205, 0x0002, $x + ($y*65536))
CASE("MDOWN")
SENDMESSAGE($_hwnd, 0x0207, 0x0010, $x + ($y*65536))
CASE("MUP")
SENDMESSAGE($_hwnd, 0x0208, 0x0010, $x + ($y*65536))
CASE("MOVE")
SENDMESSAGE($_hwnd, 0x0200, 0, $x + ($y*65536))
END_SWITCH
END_SUB