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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    Добавил высоту, сортировал функции в конфиге, таймер поставил от начала до конца вывода. Вообще в оригинале используется _GUICtrlListBox_FindString, но усложняется тем, что утилита вычисляет каждый раз заново, а значит надо в конфиге указать больше информации. Например можно указать массив из 26 букв, где сама позиции указывает соответствующую букву, а цифра в этой позиции указывает позицию буквы в массиве. То есть при вводе "s" рег. выр. не будет проверять вхождения от начала массива, а перейдёт к диапазону 104 - 126, где 126 равно диапазон буквы "t"-1. Далее после вывода окна применить к списку _GUICtrlListBox_FindString, если введено более одной буквы и прокрутит к найденному. На языке Си это было бы быстрее, так как я бы проверял вторую букву по указателю со сдвигом на 1, а не отдельной функцией с проверкой от начала. Хорошо если бы сделать плагин, чтобы не тратить время на загрузку exe в память.
     
    Сейчас попробовал из словаря орфографии ru_RU.dic вставить в секцию Word 170 тыс. слов, вызов 1,3-2 секунды.

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 14:46 15-04-2014 | Исправлено: AZJIO, 15:16 15-04-2014
    Artem_Butenko



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, прошу Вашего совета. Собрал в Koda следующую форму. Вопрос в том, каким образом привязать к конкретному выбору в ComboBox и нажатию на кнопку "Запуск" выполнение соответствующего действия, например, запуск приложения, в соответствии с выбором пользователя?

    Всего записей: 725 | Зарегистр. 19-02-2008 | Отправлено: 17:40 16-04-2014 | Исправлено: Artem_Butenko, 17:42 16-04-2014
    SlavaS



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

    Цитата:
    привязать к конкретному выбору в ComboBox и нажатию на кнопку "Запуск"

    как то так

    Всего записей: 45 | Зарегистр. 16-01-2006 | Отправлено: 19:29 16-04-2014
    DarkSmoke



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

    ----------
    Абонентское обслуживание и ремонт компьютеров в Днепропетровске

    Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 00:32 24-04-2014
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DarkSmoke
    Делал такое когда-то
    На autoit-script.ru есть тема для заказов.

    Цитата:
    с каким браузером работаем

    Только IE и Firefox, т.к. Opera (на движке Presto) не имеет нужного функционала. Хромы тоже вроде не имеют...

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 14:23 24-04-2014
    DarkSmoke



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    timsky
    1. Там не дает регистрироваться. Все время говорит что не правильно отвечаю на вопрос нужно ли соблюдать правила. Перепробовал все 4 варианта, все не правильные.
    2. Ссылка на профессионалов ведет на главную.

    Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 15:50 24-04-2014
    lionfanty



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    возможно передать сочитание клавиш CTRL+ALT, подскажите скрипт

    Всего записей: 6 | Зарегистр. 25-04-2014 | Отправлено: 08:35 28-04-2014
    sewell



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, есть ли возможность работы AutoIt скрипта с приложениями WPF. В частности, как получить доступ к элементам такого приложения?

    Всего записей: 838 | Зарегистр. 06-07-2005 | Отправлено: 16:18 28-04-2014
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть сторонняя утилита (распаковщик) которая принимает путь к распаковываемому файлу только через Drag&Drop. Специального поля для этого пути в окне нет и перетаскивать можно\нужно на любое место окна утилиты.
     
    Как можно передать этот путь утилите из скрипта с помощью скрипта, а не вручную (перетаскиванием)?

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 06:47 29-04-2014
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GORA2
    http://www.autoitscript.com/forum/topic/122881-files-drag-drop/

    Всего записей: 3267 | Зарегистр. 30-05-2007 | Отправлено: 09:20 29-04-2014
    Zakkazak



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер, помогите пожалуйста с простеньким скриптом
     
    В папке есть куча файлов url,  типа бла-бла-бла.url .  Нужно их всех импортировать в программу через коммандную строчку. Урл файлы сортированны в папке по дате модификации (от старшего к младшему), хотелось бы , чтоб в такой же последовательности были импортированны в программу.
     
    Собстевнно параметры, которые поддержисает программа:
     
    App.exe "/new=url=http://www.server.com/file.htm,name=бла-бла-бла"

    Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 21:16 30-04-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zakkazak,
    Покажите пример нужного параметра, который надо получить.
    А что эта программа делает с этими ярлыками?

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 23:14 30-04-2014 | Исправлено: madmasles, 23:14 30-04-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zakkazak,
    Скрипт найдет все файлы *.URL в указанной папке $sDir, отсортирует массив от старшего к младшему по дате модификации и выдаст массив, в 1-ой колонке полные пути к файлам *.URL, во 2-ой ссылка на страницу из файлов *.URL.
    Читать дальше..

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 06:18 01-05-2014 | Исправлено: madmasles, 06:23 01-05-2014
    Zakkazak



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    спасибо,
     
    Есть много файлов типа, в файловом менеджере они отсортированны по дате изменение (убывание)
     
    Buckwheat - Full Report (All Nutrients).url
    Rice - Wikipedia, the free encyclopedia.url
    Detailed Listing of Acid - Alkaline Forming Foods.url
    Buckwheat pH - Google Search.url
    продукты pH - Google Search.url
    Is Rice Acid or Alkaline- - LIVESTRONG.COM.url
    Food PH Chart - Most Alkaline and Acidic Foods.url
    Таблица защелачивающих и закисляющих продуктов питания.url
    Водородный показатель (pH) продуктов питания.url
    Ощелачивающие продукты – сайт диетолога Людмилы Денисенко.url
     
    Нужно их просто передать Оффлайн менеджеру, дальше уже Оффлайн Менеджер сам будет делать свое дело.
     
       
     
    Оффлайн менеджер поддерживает комм. строчку, чтоб можно было бы создавать проекты скачивания из коммандной строки.
    OE.exe "/new=url=http://www.xxx.com/xxx.htm,name=бла-бла-бла"

    Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 10:01 01-05-2014
    alexzorro2011

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уж не знаю, куда "готовые решения" вставлять, поэтому напишу сюда )))
    сам я в языке AutoIt v3 почти ничего не смыслю, но два найденных решения решил выложить в открытый доступ, т.к. ничего похожего вроде не нашел
    и сразу предупреждаю - за возможные неоптимизированности просьба сильно не бить, см. выше
     
    1) запуск родного виндового менеджера процессов  
    (taskmgr.exe который, у меня автоматом открывается на вкладке процессов (причины - он довольно легковесный, привычный, а для более серьезных задач я использую более комбайные вещи)),  
    т.к. я люблю когда он сам запускается при включении винды (это уже организовал обычным ярлыком в автозапуск).
    затем автоматом в нём сортируются процессы по "имени образа".
    всё )))
     
    з.ы. : будет работать полностью у всех, у кого по умолчанию в этом диспетчере открывается вкладка "процессы", не зависит от системных переменных (я про %Path% (уж не знаю, оттуда ли берут значения AutoIt переменные, но я на всякий случай их не использовал, т.к. сталкивался с глюками/последствиями вирусни в переменной %Path%))

    Код:
    #include <WindowsConstants.au3>
    #include <SendMessage.au3>
    #include <GuiMenu.au3>
     
    If ProcessExists('taskmgr.exe') Then ProcessClose('taskmgr.exe')
     
    Run("C:\WINDOWS\system32\taskmgr.exe")
     
    WinWait("Диспетчер задач Windows")
     
    $hTskMgr = WinGetHandle("[CLASS:#32770;TITLE:Диспетчер задач Windows]")
     
    If Not WinExists($hTskMgr) Then Exit 1
     
    ControlClick($hTskMgr, $WM_COMMAND, '[CLASSNN:SysHeader321; X:25; Y:44; W:585; H:20]', "left", 1, 91, 9)

     
     
    2) смена схемы курсора на "Alex" )))) (чтобы выбрать другую тему, замените Alex в коде на нужное уникальное название схемы (или уникальную часть названия), при этом такая схема должна уже быть создана)
    (планирую использовать из RunOnceEx при установке винды (тестировал пока что на живой системе), т.к. другими методами иконки этой схемы я в винду добавлял, применял твик реестра для установки этой схемы по умолчанию (на всех этапах автоустановки винды, т.е. и из SVCPACK, и из RunOnceEx), но схема для определённого (нынешнего) пользователя почему-то не устанавливалась, зато устанавливалась для всех пользователей только на экране выбора пользователя системы )

    Код:
    #include <WindowsConstants.au3>
    #include <SendMessage.au3>
    #include <GuiMenu.au3>
     
    Run("C:\WINDOWS\system32\rundll32.exe C:\WINDOWS\system32\shell32.dll,Control_RunDLL C:\WINDOWS\system32\main.cpl")
     
    WinWait("Свойства: Мышь")
     
    $hTskMgr = WinGetHandle("[CLASS:#32770;TITLE:'Свойства: Мышь']")
     
    If Not WinExists($hTskMgr) Then Exit 1
     
    Send ("^{TAB}")
     
    ControlClick($hTskMgr, $WM_COMMAND, '[CLASSNN:ComboBox1; X:202; Y:50; W:258; H:21]', "left", 1, 110, 10)
     
    Send("Alex")
     
    Send("{ENTER}")

     
     
    P.S. : у кого-нибудь сохранились ScriptWriter, AutoItMacroGenerator и CodeWizard из "Инструментов" в шапке этой темы?
    а то, видать, тот сайт накрылся анти-Malware ucoz-тазом )))

    Всего записей: 2 | Зарегистр. 27-07-2011 | Отправлено: 20:21 06-05-2014 | Исправлено: alexzorro2011, 20:34 06-05-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    comrades, подскажите, пожалуйста, есть ли решение: на основе этой темы быд сделан скрипт перезапуска Total Commander (без параметра - перезапуск с той же битностью, с параметром - со сменой битности), но есть один момент: в ТС крайних версий появилась фича - запуск диалогов поиска и синхронизации отдельным процессом (чтобы не блокировать панели), отдельные дочерние процессы с ключами "TOTALCMD.EXE" /S=F:S2 "%path%" и "TOTALCMD64.EXE" /S=S  "%path1%" "%path2%" соотв., прибить легко, добавив перед WinClose($title) строки

    Код:
    If WinExists("[CLASS:TFindFile]") Then WinClose("[CLASS:TFindFile]")
    If WinExists("[CLASS:TCmpForm]") Then WinClose("[CLASS:TCmpForm]")

    Но если запущено более одной копии ТС, то окна будут закрываться в любом случае, можно ли прибивать с условием, что окна дочерние текущего процесса?

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 10:26 08-05-2014 | Исправлено: Skif_off, 10:27 08-05-2014
    Kostyas

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если путь содержит "&" то не отрабатывается команда Run.
    $path =  "C:\AA & BB\40 CU FT_4_R01.pdf"
    run( "cmd /c " & """" & $path & """", "", @SW_HIDE )
    Как можно обойти. Спасибо.

    Всего записей: 181 | Зарегистр. 05-02-2003 | Отправлено: 02:52 09-05-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kostyas
    Дело не в команде Run, а в cmd.exe и в его особенностях синтаксиса.
    Если нужно открыть файл в программе по умолчанию, можно использовать ShellExecute.

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 05:00 09-05-2014
    GORA2



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

    Цитата:
    Как можно обойти.

    Попробуйте заэкранировать спец. символ.
    Код:
    $path =  "C:\AA ^& BB\40 CU FT_4_R01.pdf"  

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 06:12 09-05-2014
    NIKZZZZ



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

    Цитата:
    Если путь содержит "&" то не отрабатывается команда Run.  

    Можно попробовать использовать короткие имена

    Код:
    $path =FileGetShortName("C:\AA & BB\40 CU FT_4_R01.pdf")


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 09:08 09-05-2014
       

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