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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята привет.
    Написал приложение. Срабатывание выполняется по условию. Работа программы идет достаточно долго. Вывожу гуи
       
    Хочу сделать чек на сворачивание/разворачивание гуи.
       
    Естественно проверять выбор чека вставляя строку после каждой процедуры нереально.
    Как запустить параллельно основному процессу?
     
    Делать поверх прозрачное окно такое же как основное с чеком и потом через WinMove основного окна?

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 11:17 03-11-2015 | Исправлено: SLIDER999, 11:20 03-11-2015
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    Запустить сторонний скрипт, а результаты писать в родительский. В разделе отладки в справке есть пример логов отладки, когда данные о работе скрипта пишутся в окно отладки.
    Я обычно разделяю на этапы и в строку состояния пишу "Этап 1 из 3-х" или "3/7 идёт форматирование карты...", а подробности уже после выполнения можно повесить на кнопку, которая выдаст лог в дочернем окне. Кстати, если гуи сделано так что интерфейс/перерисовка блокируется выполняющими процессами, то при передвижении окна или поверх него чего либо оно закрасится белым. В общем не рекомендуется создавать процесс, который заблокирует работу гуи.

    Всего записей: 4409 | Зарегистр. 03-05-2006 | Отправлено: 23:50 03-11-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уже спрашивал, но никто внятно не рассказал.
    Есть приложение. После запуска грузит из инета файл(ы). Работает по протоколу BITS.
    К сожалению непонятно как грузит - раскидывает временные файлы как попало и логики там не видно... Вопрос. Как определить скорость загрузки процесса (TCP) ?
    Определить по наличию файла в конечной папке нереально ибо грузит разные по размеру файлы и они появляются в конечной папке ТОЛЬКО после полной загрузки... Требуется отследить i/o network or disk process..

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 07:39 04-11-2015 | Исправлено: dialmak, 07:47 04-11-2015
    SLIDER999

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

    Цитата:
    Запустить сторонний скрипт

    У меня программа представляет из себя один исполняемый файл, скомпилированный из одного скрипта. Получается, что будет 2 исполняемых файла чтоли?
    Ткни меня носом в раздел отладки справки. Не могу найти.

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 08:39 05-11-2015
    DeisGood



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите мудрые гуру
    Имеется vbs скрипт, запускается с параметрами по расписанию и по ходу действия скрипта вызывается объект AutoItX. Скрипт загружается в папку пользователя при старте системы.
    Скрипт используется в нескольких доменах на разных ОС с различной разрядностью.
    На компьютерах клиентов библиотечка может отсутствовать.
    Собственно стою на распутье:
    1.Скомпилировать средствами Autoit exe-шник который будет запускать скрипт с параметрами, но если я правильно понимаю потребуется 2 версии для 64x и 32х разрядных систем (а хочется то одного )
    2.Добавить в скрипт vbs проверку на наличие установленной библиотечки, и в зависимости от разрядности системы подкладывать и регистрировать требуемую. И здесь 2 варианта либо брать с сетевого ресурса либо сразу "подкладывать" пользователю скрипт и библиотеку при старте системы.  
     
    Может есть и 3ий вариант, которого я пока не знаю.
     
    Как думаете в каком направлении двигаться?
     
    P.S.: возможны ли проблемы если я буду работать с 32х разрядной библиотекой в 64-битной среде, по сути объект AutoIt используется только для работы с окнами как-то нажатие кнопок, переход по элементам и не более...

    Всего записей: 161 | Зарегистр. 18-11-2005 | Отправлено: 12:37 06-11-2015 | Исправлено: DeisGood, 13:22 06-11-2015
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще один вопрос:
    Как мне узнать, что нажалась, скажем, 53 кнопка?

    Код:
       For $i = 1 to 100
          GUICtrlCreateButton('Сохранить', 660, 0 + $i*20, 100, 19)
       Next

    кнопка ведь не имеет ни номера, ни имени

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 12:04 09-11-2015 | Исправлено: SLIDER999, 12:05 09-11-2015
    nik4z



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

    Цитата:
    кнопка ведь не имеет ни номера, ни имени

     
    Так создай массив
     

    Код:
    For $i = 1 to 100
          $Button[$i]=GUICtrlCreateButton('Сохранить', 660, 0 + $i*20, 100, 19)
    Next

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 02:16 10-11-2015
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть массив:
    Омск Иванов Товар1
    Омск Петров Товар2
    Ишим Иванов Товар3
    Томск Сидоров Товар5
     
    Если я хочу посмотреть, скажем, по Омску, как мне вывести массив в виде:
    Иванов Товар1
    Петров Товар2
     
    ?
     
    nik4z
    спасибо, помог. Я сам не додумался

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 14:55 10-11-2015 | Исправлено: SLIDER999, 14:58 10-11-2015
    nik4z



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

    Код:
    $sGorod = 'Омск'
    For $i = 1 To UBound($aArray) -1
        $sXxx = StringRegExpReplace($aArray[$i], '(?m)^' & $sGorod & '\s+(.*)', '\1',1)
        If @extended  Then
            ConsoleWrite($sXxx & @CrLf)
        EndIf
    Next


    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 15:22 10-11-2015 | Исправлено: nik4z, 15:35 10-11-2015
    AlexALSP



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как запустить по завершению ряда операций wav файл с рабочего каталога скрипта?
     
    Код. Пробовал как в справке написано , но не помогает.
     
    Кто знает , подскажите пожалуйста.
     

    Код:
     
     
    #RequireAdmin
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Icons\MyAutoIt3_Green.ico
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_UseUpx=y
    #AutoIt3Wrapper_Res_Fileversion=0.0.0.16
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_Language=1049
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #EndRegion
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    #include <StaticConstants.au3>
    #include <FileConstants.au3>
    MsgBox(0, "Автокликер Stella Stream ", "Для запуска нажмите ОК, старт/стоп по кнопкам F5/F6, выход на F7")
    Global $Paused
    HotKeySet("{F5}", "Start")
    HotKeySet("{F6}", "Stop")
    HotKeySet("{F7}", "Close")
    While 1
    Sleep(3000)
    WEnd
    Func Start()
    While true
    MouseClick("primary", 59, 576, 1, 1)
    Sleep(3000)
    MouseClick("primary", 800, 875, 1, 1)
    Sleep(3000)
    MouseClick("primary", 486, 582, 1, 1)
    Sleep(3000)
    MouseClick("primary", 770, 529, 1, 1)
    Sleep(3000)
    MouseClick("primary", 769, 868, 1, 1)
    Sleep(3000)
    MouseClick("primary", 1076, 459, 1, 1)
    Sleep(3000)
    MouseClick("primary", 1081, 541, 1, 1)
    Sleep(3000)
    MouseClick("primary", 767, 489, 1, 1)
    Sleep(3000)
    MouseClick("primary", 94, 92, 1, 1)
    Sleep(720000)
    Beep(400, 5000)
    Sleep(2000)
    SoundPlay(@WorkingDir & "wav\play_1.wav", 1)
    WEnd
    EndFunc
    Func Stop()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    WEnd
    EndFunc
    Func Close()
    Exit 0
    EndFunc
     

     
     
    Второй вопрос.
     
    как прописать , что бы код работал в окне свернутого браузера , к примеру Opera ? в своей вкладке , как бы привязать определенную вкладку или страницу к коду.

    ----------
    Развлекалово | World of Warships

    Всего записей: 1227 | Зарегистр. 22-04-2007 | Отправлено: 14:12 12-11-2015 | Исправлено: AlexALSP, 14:19 12-11-2015
    jFobos



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AlexALSP
    По первому вопросу - выполните скрипт, посмотрите чего не хватает
    MsgBox(0, '', @WorkingDir & 'wav\play_1.wav')
     
    Касательно второго вопроса - можно попробовать пост и сенд меседж, но не знаю получится ли с браузером.
     

    Всего записей: 452 | Зарегистр. 03-12-2007 | Отправлено: 15:46 12-11-2015 | Исправлено: jFobos, 11:23 19-11-2015
    AlexALSP



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

    Код:
    MsgBox(0, '', @WorkingDir & 'wav\play_1.wav')
     
     
    Путь к файлу верный но не воспроизводится .
     

    Код:
    SoundPlay(@WorkingDir & "\wav\play_1.wav", 1)  

     
    Добавлено:
    Странно , сменил формат на mp3 и все заработало , хотя в справке написано о поддержки wav и mp3.
     
    Возможно wav не так создан был , как нужно , не знаю.

    ----------
    Развлекалово | World of Warships

    Всего записей: 1227 | Зарегистр. 22-04-2007 | Отправлено: 17:05 12-11-2015
    jFobos



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может все таки слеша не хватало?
    Пути  d:\tempwav\play_1.wav и d:\temp\wav\play_1.wav разные

    Всего записей: 452 | Зарегистр. 03-12-2007 | Отправлено: 19:13 12-11-2015 | Исправлено: jFobos, 19:13 12-11-2015
    AlexALSP



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    jFobos
     
    Не хватало, с твоей помощью , поставил, как постом выше второй код, но только сработал mp3, нее проверял другие wav файлы , но это и не нужно раз mp3 работает. еще раз спасибо.

    Всего записей: 1227 | Зарегистр. 22-04-2007 | Отправлено: 16:38 13-11-2015
    jFobos



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня вопросик...  
    Как получить список хендлов дочерных объектов первого уровня?
     
    скриншот
    Я нахожу хендл 001301E0(WindowsForms10.MDICLIENT)
    Потом использую функцию _WinAPI_EnumChildWindows и она возвращает список вообще всех дочерных объектов. А мне нужно список из 5-ти элементов.
     
    И еще... Есть ли какие-то функции, чтобы возвращали FirstChild, LastChild, NextChild, Parrent хендлы?

    Всего записей: 452 | Зарегистр. 03-12-2007 | Отправлено: 11:25 19-11-2015
    dedmazai1870



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, а что, в новых версиях (проверял 3.3.14.1 и 3.3.14.2 на Win7 и 3.3.14.2 на Win10) с последним SciTE 15.920.938.0
    AU3Recorder не работает?
    Комплект autoit-v3.3.12.0-setup и SciTE4AutoIt3 15.920.938.0 работает.

    Всего записей: 1386 | Зарегистр. 07-07-2012 | Отправлено: 14:38 26-11-2015
    mebohuy



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

    Всего записей: 59 | Зарегистр. 25-11-2015 | Отправлено: 14:40 26-11-2015
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dedmazai1870
    В версии v3.3.14.1 убрали его из дистра:

    Цитата:
    Removed au3record.exe as it's often mistakenly flagged as malware causing the entire AutoIt zip/installer to be flagged. We'll host it separately.

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 20:12 28-11-2015
    nik4z



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dedmazai1870
    AU3Recorder есть в последней beta версии 3.3.15.0.

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 20:52 28-11-2015
    dedmazai1870



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    timsky
    nik4z
    Спасибо! Проверил в дистрибутивах (7-zip) autoit-v3.3.12.0-setup.exe и autoit-v3.3.15.0-beta-setup.exe папку \Extras\Au3Record\. Файлы одинаковые, только даты разные.

    Всего записей: 1386 | Зарегистр. 07-07-2012 | Отправлено: 10:34 29-11-2015
       

    Страницы: 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