Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя эмуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши, управление окнами и их визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:07 01-06-2010 | Исправлено: Maz, 12:29 10-01-2020
    Memfivosfey

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток, ребят, подскажите кто знает, хотел чуток автоматизировать игру в MMORPG Lineage 2, но клиент игры, каким-то образом, определяет наличие AutoIt в процессах и обрывает коннект с сервером. Пробовал уже много раз. Если AutoIt запущен, происходит дисконнект в игре. Можно ли каким-то образом, замаскировать AutoIt от игры?

    Всего записей: 352 | Зарегистр. 11-02-2005 | Отправлено: 11:59 30-08-2018 | Исправлено: Memfivosfey, 12:00 30-08-2018
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Memfivosfey
    Такие вещи несколько не одобряются, лучше всего найти специализированный по ботам форум/темы.

    Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 15:58 30-08-2018
    Smitis



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Memfivosfey

    Цитата:
    но клиент игры, каким-то образом, определяет наличие AutoIt в процессах и обрывает коннект с сервером

    Скрипт скомпилирован в exe или запущен через autoit?


    ----------
    Разум когда-нибудь победит

    Всего записей: 3218 | Зарегистр. 09-02-2003 | Отправлено: 16:30 30-08-2018
    Memfivosfey

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smitis

    Цитата:
    Скрипт скомпилирован в exe или запущен через autoit?  

     
    хм, не догадался проверить. Запускал в среде AutoIt. Но отладку проводить будет сложно, если скомпиленный файл прокатит..., проверю отпишу.  
     
    Skif_off

    Цитата:
    Такие вещи несколько не одобряются, лучше всего найти специализированный по ботам форум/темы.

     
    Кем это не одобряются? Вами? Я ничего злого никому не делаю. И полноценного бота я не пишу.  Жизнь себе упрощаю - это да. И вопрос у меня не по БОТУ, а по AutoIt, простите.
     
    Добавлено:
    Smitis

    Цитата:
    Скрипт скомпилирован в exe или запущен через autoit?

    проверил, реагирует и на Среду AutoIt и на уже скомпиленный exe файл.

    Всего записей: 352 | Зарегистр. 11-02-2005 | Отправлено: 16:42 30-08-2018
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как организовать в скрипте несколько циклов, чтобы они работали по очереди, то есть запускается скрипт, работает первый цикл с ожиданием условий, условие появилось, скрипт выполнил какие то действия, происходит переход к ожиданию второго условия (второй цикл) и так до конца скрипта (циклов может быть 5-6-8) Условия = Ожидание окна и действия с этим окном

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 18:19 30-08-2018 | Исправлено: BOBAT, 19:06 30-08-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BOBAT

    Код:
    while not условие1
    sleep(20)
    wend
    .....
    while not условие2
    sleep(20)
    wend
    ....

    Или

    Код:
    while 1
    if условие1 then exitloop
    sleep(20)
    wend
     

    sleep(20) чтобы меньше грузить процессор, можно и без него.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 18:28 30-08-2018 | Исправлено: NIKZZZZ, 18:42 30-08-2018
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот так можно писать?
     

    Цитата:
    while WinWait("титл окна", "")
    sleep(200)
    WinClose("титл окна", "")
    sleep(20)                  
    wend  
     
    while WinWait("титл окна", "")
    sleep(200)
    WinActivate("титл окна", "")
    MouseClick() или нажатие клавиш
    sleep(20)                  
    wend  
     

    Как я понимаю, wend это конец одного из циклов, а как прописать конец для while? Или он дойдёт до конца и закроется?

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 18:59 30-08-2018 | Исправлено: BOBAT, 19:02 30-08-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BOBAT
    А зачем тогда цикл, WinWait и так будет ждать.

    Код:
    WinWait("титл окна", "")
    sleep(200)
    WinClose("титл окна", "")  


    Цитата:
    а как прописать конец для while?

    exitloop

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:07 30-08-2018 | Исправлено: NIKZZZZ, 19:10 30-08-2018
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Memfivosfey
    Сообществом. На autoit-script.ru или в соответствующем разделе forum.oszone.net пост, вероятно, проигнорировали бы - привык.  
    Один момент

    Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 19:23 30-08-2018
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    но клиент игры, каким-то образом, определяет наличие AutoIt в процессах и обрывает коннект с сервером.  

    А что у тебя появляется в процессах при запуске скомпилированного скрипта? Слово AutoIt там никак не должно появляться

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 19:36 30-08-2018
    Memfivosfey

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BOBAT

    Цитата:
    А что у тебя появляется в процессах при запуске скомпилированного скрипта? Слово AutoIt там никак не должно появляться  

    Просто "exe" файл и его имя. Видимо отлавливает как-то. Во время выполнения скрипта, в трее появляется значок. Хотел спросить, его можно как-то отключить? просто что бы не отображался?
     
    Skif_off
    Добавлено:
    простите за оффтоп:

    Всего записей: 352 | Зарегистр. 11-02-2005 | Отправлено: 20:07 30-08-2018 | Исправлено: Memfivosfey, 08:54 31-08-2018
    Andrey_A_A



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Memfivosfey
    Внутри файла остаётся информация, возьмите программу Control Viewer (найдёте на сайте Autoit) или отсюда скачаете CV
    В ней есть вкладка Autoit и чтобы вы не убрали из exe она вычисляет программу, написанную на au3
    Возможно есть варианты переписывать все окна на WINAPI или вырезания через спец. проги, но мне это не интересно.

    Всего записей: 1390 | Зарегистр. 15-08-2011 | Отправлено: 20:21 30-08-2018
    Memfivosfey

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Andrey_A_A
    И на том спасибо огромное, я тоже особо внедряться не намерен, но если не сложно, по минимуму, попробую. А что касается значка в трее? его, всё же никак отключить нельзя?

    Всего записей: 352 | Зарегистр. 11-02-2005 | Отправлено: 20:26 30-08-2018
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Memfivosfey

    Цитата:
    касается значка в трее? его, всё же никак отключить нельзя?

    Директива #NoTrayIcon
    Палиться - не палится:
    Попробуй свой скомпилированный, но не сжатый файл, сжать какимнидь упаковщиком, типа PECompact

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 20:34 30-08-2018
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    А зачем тогда цикл, WinWait и так будет ждать.  

    Цикл затем, что когда появится какое окно я не знаю, окно может появится, может и нет, поэтому хотелось бы в цикле мониторить за возможными окнами, если какое то окно появилось, произвести действия, исключить это окно из цикла и мониторить дальше, если появится ещё какое то окно, то опять выполнить действия и так по кругу, пока не придёт команда закончить циклы и закрыться

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 21:02 30-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Memfivosfey
    1. Попробуй ресурсы поправить, то есть прописать туда фирму производителя, автора и т.д.
    2. В exe есть сигнатура AU3!EA06 а также просто открой exe с помощью к примеру "Hex Workshop" и поищи там текст "AutoIt". Попробуй поменять эти тексты, хотя может что-то поломаться, можно поменять одну буквы для начала в текстах "AutoIt".
    3. AutoIt создаёт скрытое окно, может по его заголовку определяет. Но тоже если его убить как будет работать не знаю, возможно это окно является родительским для всех окон созданных пользователем, допустим чтобы убить их при выходе по родителю.
     
    Сейчас попробовал заменить текст "AutoIt" 16 вхождений UTF8 и одно вхождение юникод, запустился без проблем, а вот при изменении AU3!EA06 поломался.
     
    BOBAT
    цикл может быть вложен один в другой, так же как и условия могут быть вложены друг в друга, а также цикл в условие и условие в цикл. А также выпрыгивание и цикла и из двух циклов сразу, указав уровень.

    Всего записей: 4413 | Зарегистр. 03-05-2006 | Отправлено: 21:06 30-08-2018 | Исправлено: AZJIO, 21:58 30-08-2018
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Memfivosfey
    Пробуй https://yadi.sk/d/VlyMzSfm3ai86Z
    Упаковано PECompact
    Как антивирь будет реагировать, хз, там кроме msgbox нет ничего)

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 22:37 30-08-2018
    Memfivosfey

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    всем большое спасибо, но пока достижений нет.
     
    Fom64
    Иконку скрыл, это не помогло.  
     
    Скачал сам PECompact, сжал свой скомпиленный exe файл им, результат пока нулевой. Видимо, клиент игры, что-то обнаруживает в памяти. Если не обломаюсь, буду смотреть глубже.
     
    AZJIO
    Ресурсы пока править не пробовал, но думаю, после всего, имеет ли это смысл? А вот касательно родительского окна, тут, мне кажется, очень может быть.

    Всего записей: 352 | Зарегистр. 11-02-2005 | Отправлено: 06:16 31-08-2018 | Исправлено: Memfivosfey, 06:19 31-08-2018
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Memfivosfey
    Отлавливается, скорей всего не окно, а действия. Типа send из бота в окно клиента, нужна "прокладка".
    Выше советовали. Попробуй переписать своего бота на WinApi.

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 09:02 31-08-2018
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот у меня код цикла

    Код:
    Opt("MouseCoordMode", 0)
    While 1
     WinWait("1 — Блокнот", "")
     WinActivate("1 — Блокнот", "")
      MouseClick("left", 210, 320, 1, 18)
     Send('{ENTER 1}')
      Send("Дописываем в блокнот1")
      WinClose("1 — Блокнот", "")
      Send('{TAB 1}')
     Send('{ENTER 1}')
     
    WinWait("2 — Блокнот", "")
     WinActivate("2 — Блокнот", "")
      MouseClick("left", 210, 320, 1, 18)
     Send('{ENTER 1}')
      Send("Текст во второй блокнот")
       WinClose("2 — Блокнот", "")
       Send('{TAB 1}')
     Send('{ENTER 1}')
    WEnd

    Цикл запускается, и если выполняется 1 условие, он отрабатывает, потом если появляется 2 условие, он отрабатывает, потом если появляется 1 условие, он отрабатывает, то есть если условия совпадают по очерёдности с кодом, то всё работает, но если после первого условия опять пытаться выполнить 1 условие, то ничего не происходит, или если не выполняя первое условие сразу пытаться выполнить 2 условие - опять ничего не происходит, как сделать так, чтобы условия выполнялись независимо от очерёдности появления? И как ограничить жизненный цикл кода - то есть чтобы по истечении какого то времени файл сам бы закрылся независимо от выполненных или невыполненных условий?

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 09:15 31-08-2018
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
    gyra (23-01-2020 10:51): AutoIT (Часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru