Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: ma4ete on November 29, 2020, 02:20:50 PM
-
Подскажите пожалуйста, можно ли реализовать вставку текста из файла не отключая привязку? Сейчас проблема следующая. Есть браузер куда выполняется вставка текста. Но когда происходит отвязывание кликера для вставки, то клик выполняется по активному окну(естественно :)). Может можно сделать так чтобы не затрагивалось активное окно при отвязке кликера.
HSET(1376906,1) //привязка к браузеру
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(100,200,150,240, "Pic1.bmp") //поиск строки ввода текста
$check = 1
WAITMS(200)
LCLICK(539,49) //клик в поле ввода
WAITMS(200)
KEYSTRING("текст") //ввод текста
HSET(1376906,0) //отвязка от окна чтобы нажать ентер
LCLICK(539,49) //клик в поле ввода после отвязки И В ЭТОТ МОМЕНТ ПРОИСХОДИТ КЛИК ПО АКТИВНОМУ ОКНУ
KEYPRESS(#ENTER)//жмем ентер в отвязке
HSET(1376906,1) //повторная привязка к браузеру
ELSE
WAITMS(50)
END_IF
END_CYC
-
Или может можно сделать вообще без отключения привязки? Просто взяв строки из текстового файла для вставки путем набора текста через KEYSTRING? Но только так, чтобы этот текст(строки) вводлись каждый новый цикл поочередно(как это делается у меня сейчас
INC($i,1)
TOCLIP(TFREAD("тексты.txt", $i))
-
http://crapware.aidf.org/forum/index.php?topic=2063
Там написано как вставить в неактивное окно.
-
http://crapware.aidf.org/forum/index.php?topic=2063
Там написано как вставить в неактивное окно.
То есть именно так и делать как в примере?
wait(1)
POSTMESSAGE($_hwnd, 0x0100, #CTRL, 0)
WAITMS (50)
KEYPRESS(#v)
WAITMS (50)
POSTMESSAGE($_hwnd, 0x0101, #CTRL, 0)
KEYPRESS(#BACKSPACE)
halt
Имею ввиду что так и прописывать $_hwnd и 0x0101?
-
Имею ввиду что так и прописывать $_hwnd и 0x0101?
$_hwnd - текущий hwnd привязки. То есть если привязку не отключать, то так и писать (если hwnd поля ввода соответствует hwnd того к чему привязан). Если без привязки, либо если hwnd не совпадает, то ищем его соответствующими функциями - HGET (x, y), WNDFIND (title, [begin]).
В первую очередь пробуй POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить
-
Имею ввиду что так и прописывать $_hwnd и 0x0101?
$_hwnd - текущий hwnd привязки. То есть если привязку не отключать, то так и писать (если hwnd поля ввода соответствует hwnd того к чему привязан). Если без привязки, либо если hwnd не совпадает, то ищем его соответствующими функциями - HGET (x, y), WNDFIND (title, [begin]).
В первую очередь пробуй POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить
Спасибо, все работает! А вот как сделать нажатие клавиши эск в таком же режиме(без отвязки от окна)?Пошерстил форум и нашел вашу тему на этот счет. Но что то никак не получается...
-
Вроде бы разобрался)
POSTMESSAGE(329344, 0x0300, 0x1B, 0)
WAITMS(50)
POSTMESSAGE(329344, 0x0301, 0x1B, 0)
Вот так получилось
-
Имею ввиду что так и прописывать $_hwnd и 0x0101?
$_hwnd - текущий hwnd привязки. То есть если привязку не отключать, то так и писать (если hwnd поля ввода соответствует hwnd того к чему привязан). Если без привязки, либо если hwnd не совпадает, то ищем его соответствующими функциями - HGET (x, y), WNDFIND (title, [begin]).
В первую очередь пробуй POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить
Хотя нет. Нажатие эск работает если я например прописываю такое
LCLICK(962,48)
KEYSTRING("1111111111111111111")
WAITMS(500)
LCLICK(962,48)
WAITMS(500)
POSTMESSAGE(788086, 0x0300, 0x1B, 0)
WAITMS(50)
POSTMESSAGE(788086, 0x0301, 0x1B, 0)
Здесь просто клик в поле адресной строки браузера. То есть набор текста и удаление его нажатием эск. Но вот в игре такое не прокатывает.
SUB(сундук,$par1,$par2,$par3,$par4,$par5)
$var=0
$check = 0
WHILE($check = 0)
GETSCREEN ($par1,$par2,$par3,$par4)
COLORMODE(6)
IF_PICTURE_IN ($par1,$par2,$par3,$par4,$par5, -1, 100)
INC($var,1)
LOGWRITE ("найдено ",$par5," ",$var," раз")
LCLICK($_return1, $_return2)
WAITMS(1500)
LCLICK(977,249)
WAITMS(500)
POSTMESSAGE(788086, 0x0300, 0x1B, 0)
WAITMS(50)
POSTMESSAGE(788086, 0x0301, 0x1B, 0)
WAITMS(500)
LCLICK(977,249)
WAITMS(500)
POSTMESSAGE(788086, 0x0300, 0x1B, 0)
WAITMS(50)
POSTMESSAGE(788086, 0x0301, 0x1B, 0)
ELSE
$check = 1
LOGWRITE ("переход к другой картинке")
END_IF
END_CYC
END_SUB
ТО есть после клика не происходит нажатие эск. Почему так может быть?
-
Или это даже не ESC POSTMESSAGE(788086, 0x0300, 0x1B, 0)...
-
Откуда взялись кода 0x300 и 0x301 ?
Обычные нажатия клавиши не пробовал?
POSTMESSAGE($_hwnd, 0x0100, 0x1B, 0)
WAITMS(50)
POSTMESSAGE($_hwnd, 0x0101, 0x1B, 1)
WAITMS(50)
-
Откуда взялись кода 0x300 и 0x301 ?
Да это я экспериментировал ввиду отсутствия понимания данных переменных))
По итогу получилось только так
POSTMESSAGE($_hwnd, 0x0100, #ESC, 0)
WAITMS (50)
POSTMESSAGE($_hwnd, 0x0101, #ESC, 0)
Спасибо что откликнулись!