Author Topic: Вставка текста из файла с привязкой.  (Read 2899 times)

0 Members and 1 Guest are viewing this topic.

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Подскажите пожалуйста, можно ли реализовать вставку текста из файла не отключая привязку? Сейчас проблема следующая. Есть браузер куда выполняется вставка текста. Но когда происходит отвязывание кликера для вставки, то клик выполняется по активному окну(естественно :)). Может можно сделать так чтобы не затрагивалось активное окно при отвязке кликера.
Code: [Select]
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

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #1 on: November 29, 2020, 02:24:51 PM »
Или может можно сделать вообще без отключения привязки? Просто взяв строки из текстового файла для вставки путем набора текста через KEYSTRING? Но только так, чтобы этот текст(строки) вводлись каждый новый цикл поочередно(как это делается у меня сейчас
INC($i,1)
TOCLIP(TFREAD("тексты.txt", $i))

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #2 on: November 29, 2020, 08:12:48 PM »
http://crapware.aidf.org/forum/index.php?topic=2063

Там написано как вставить в неактивное окно.

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #3 on: November 29, 2020, 08:48:42 PM »
http://crapware.aidf.org/forum/index.php?topic=2063

Там написано как вставить в неактивное окно.
То есть именно так и делать как в примере?
Code: [Select]
wait(1)
POSTMESSAGE($_hwnd, 0x0100, #CTRL, 0)
WAITMS (50)
KEYPRESS(#v)
WAITMS (50)
POSTMESSAGE($_hwnd, 0x0101, #CTRL, 0)
KEYPRESS(#BACKSPACE)
halt   
Имею ввиду что так и прописывать $_hwnd и  0x0101?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #4 on: November 29, 2020, 08:58:44 PM »
Имею ввиду что так и прописывать $_hwnd и  0x0101?

$_hwnd - текущий hwnd привязки. То есть если привязку не отключать, то так и писать (если hwnd поля ввода соответствует hwnd того к чему привязан). Если без привязки, либо если hwnd не совпадает, то ищем его соответствующими функциями - HGET (x, y), WNDFIND (title, [begin]).

В первую очередь пробуй POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #5 on: December 07, 2020, 01:57:41 PM »
Имею ввиду что так и прописывать $_hwnd и  0x0101?

$_hwnd - текущий hwnd привязки. То есть если привязку не отключать, то так и писать (если hwnd поля ввода соответствует hwnd того к чему привязан). Если без привязки, либо если hwnd не совпадает, то ищем его соответствующими функциями - HGET (x, y), WNDFIND (title, [begin]).

В первую очередь пробуй POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить
Спасибо, все работает! А вот как сделать нажатие клавиши эск в таком же режиме(без отвязки от окна)?Пошерстил форум и нашел вашу тему на этот счет. Но что то никак не получается...

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #6 on: December 07, 2020, 02:15:01 PM »
Вроде бы разобрался)
POSTMESSAGE(329344, 0x0300, 0x1B, 0)
WAITMS(50)
POSTMESSAGE(329344, 0x0301, 0x1B, 0)
Вот так получилось

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #7 on: December 08, 2020, 08:11:34 PM »
Имею ввиду что так и прописывать $_hwnd и  0x0101?

$_hwnd - текущий hwnd привязки. То есть если привязку не отключать, то так и писать (если hwnd поля ввода соответствует hwnd того к чему привязан). Если без привязки, либо если hwnd не совпадает, то ищем его соответствующими функциями - HGET (x, y), WNDFIND (title, [begin]).

В первую очередь пробуй POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить
Хотя нет. Нажатие эск работает если я например прописываю такое
Code: [Select]
LCLICK(962,48)
KEYSTRING("1111111111111111111")         
WAITMS(500)
LCLICK(962,48)
WAITMS(500)
POSTMESSAGE(788086, 0x0300, 0x1B, 0)
WAITMS(50)
POSTMESSAGE(788086, 0x0301, 0x1B, 0)
Здесь просто клик в поле адресной строки браузера. То есть набор текста и удаление его нажатием эск. Но вот в игре такое не прокатывает.
Code: [Select]
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
ТО есть после клика не происходит нажатие эск. Почему так может быть?

ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #8 on: December 09, 2020, 02:04:15 PM »
Или это даже не ESC POSTMESSAGE(788086, 0x0300, 0x1B, 0)...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #9 on: December 09, 2020, 04:14:50 PM »
Откуда взялись кода 0x300 и 0x301 ?

Обычные нажатия клавиши не пробовал?
Code: (clickermann) [Select]
POSTMESSAGE($_hwnd, 0x0100, 0x1B, 0)
WAITMS(50)
POSTMESSAGE($_hwnd, 0x0101, 0x1B, 1)
WAITMS(50)


ma4ete

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: Вставка текста из файла с привязкой.
« Reply #10 on: December 09, 2020, 05:37:24 PM »
Откуда взялись кода 0x300 и 0x301 ?
Да это я экспериментировал ввиду отсутствия понимания данных переменных))
По итогу получилось только так
Code: [Select]
POSTMESSAGE($_hwnd, 0x0100, #ESC, 0)
WAITMS (50)
POSTMESSAGE($_hwnd, 0x0101, #ESC, 0)
Спасибо что откликнулись!