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


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

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

Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему    

Widok



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

AutoIt3
(Часть 1)

 
 
Домашняя страница: http://www.autoitscript.com
Страница загрузки: http://www.autoitscript.com/autoit3/downloads.php
 
Описание:

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

 
Помощь по AutoIT:
  • Справку на русском (и не только) вы всегда(?) сможете найти тут
  • Учебник по AutoIt для начинающих
  • Видео-руководства на YouTube (англ.)
  • AutoIt v3: Your Quick Guide (652 КБ) - Ваш быстрый гид в мир AutoIt-а (книга в формате pdf) - Та же книжка online.
  • Справочник по командам rundll32
  • Справка WinAPI (Win 32 API по шагам)
  • Русский справочник по API-функциям
  • Полезная информация по WinAPI на русском
  • Помощь по регулярным выражениям
  • Tutorial on DllCall() & DllStructs - Небольшое (пока?) руководство по использованию функции DllCall*()
     
     
    Ресурсы, посвящённые AutoIt
  • AutoIt в Википедии
  • AutoIt Russian Community - Русское сообщество AutoIt
  • Jabber-конференция для обсуждения мелких вопросов касающихся AutoIt
  • Обзор скриптового языка AutoIt (рус.)
  • AutoIt на Yahoo! Groups
  • Раздел в конфиренции OSzone.net, посвящённый AutoIt
  • Пополняющийся со временем сайт с полезными утилитами и функциями на AutoIt
  • Коллекция AutoIt-скриптов от Sanja Alone
  • Коллекция AutoIt-скриптов от MSFN (могут быть устаревшие).
  • Коллекция AutoIt-скриптов от AZJIO
     
     
    !!! Полезные советы и заметки - новичкам и не только
     
     
  • Рекомендации по написанию скриптов
     
     
    Инструменты для AutoIt:
  • AutoIt Path Switcher - Переключение пути к папке AutoIt.
  • AutoIt3Wrapper [Страница закачки] - Программа для компиляции скрипта с дополнительными возможностями (добавление значка, описания и т.п).
  • Koda (724 Kb) - Визуализация работы с GUI - аналог Visual Basic.
  • CodeWizard (400 Kb) - нечто простенькое на вариант Koda.
  • AutoItMacroGenerator (34 Kb) - Записывает в реальном времени действия пользователя в AutoIt-код.
  • ScriptWriter (78 Kb) - Аналог AutoItMacroGenerator.
  • API Constants (1042 Kb) - Утилита для просмотра всех констант API-функции и не только.
  • Страница закачки утилит, которые идут в отдельной поставке редактора SciTE.
  • AutoIt-меню для браузера Opera.
     
    Готовые скрипты и программы с открытым кодом на AutoIt:
  • Desktop Icons Restorator - Скрипт-программа для сохранения/восстановления позиции значков рабочего стола.
  • CaptureIt - Утилита для захвата изображений с экрана.
  • SwitchIt - Скрипт для конвертирования выделенного текста.
  • Скрипт раскраски кода AutoIt для публикации в форумах
     
    Общие вопросы и решения на Autoit:
  • Обработчик скриптов добавляющий отладчик (debugger) - Последняя версия: AutoItScript Add Debugger
  • Интеракция между несколькими скриптами
  • Пример использование интеракции между скриптами - Добавление элементов GUI с внешнего модуля
  • Чтение и запись данных с/в окна/о SciTE
  • Пример автообновления версии своего приложения
  • Копирование большого файла с отображением данных прогресса
  • Создание динамического меню в Tray Icon (значок в области уведомлений)
  • Пример создания своего мастера (Wizard)
  • Метод, позволяющий запускать код VBS без создания временных файлов
  • Описание функции GUIRegisterMsg()
  • Пример перехвата вводимых символов с клавиатуры
  • Пример деактивирования TabItem
  • Пример вывода лога в Edit-поле (с поддержкой форматирования текста)
  • Пример остановки/начало выполнения скрипта + Слежение за буфером обмена с заменой неподдерживаемых в имени файла символов
  • Подключение приложения (GUI) к буферу обмена
  • Пример использования меню с значками (ModernMenu.au3) -> Список программ в меню значка в системном трее
  • Пример подсчёта интервала времени между нажатиями клавиш
  • Слежение нажатых элементов в текущем окне (под курсором)
  • Написание instant messaging Бота на AutoIt
  • Способ, позволяющий посылать нажатие клавиши в неактивное окно (не путать со свёрнутым)
  • Сервер <=> Клиент - Пример передачи файла
  • Пример отображения только элементов GUI (без самой оболочки)
  • Модуль, превращающий ваше приложение в Trial-версию
  • Слежение за выделенным текстом и с последующим его помещением в файл
     
    Отдельные функции и библиотеки (UDF):
  • Функции, относящиеся к интернету
  • Функции для работы с процессами и окнами
  • Функции для работы с файлами
  • Функции для GUI/Tray
  • Системные функции
  • Разное (то, что не подпадает под другие категории)
     


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

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 14:47 12-01-2009 | Исправлено: Maz, 11:50 17-04-2017
    Kiev78

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

    Цитата:
    Строка ControlSend ("Save As", "", "", "C:\Documents and Settings\Administrator\Desktop\text.txt") делает следующее:

    И правильно делает - после нажатия кнопки сохранить нужный файл сохранится в нужном месте (как раз то, что тебе нужно). Если хочется твоим способом, то можно конечно и так, но это немного сложнее для тебя - смотри в справке команды типа ControlCommand (у нее много параметров, тебе нужно будет экспериментировать с параметрами типа "ShowDropDown", HideDropDown", "FindString", "SetCurrentSelection", "SelectString", "GetCurrentSelection" и т.д. - подробности использования смотри в справке.). Но если тебе нужно просто сохранить файл, то первый вариант - это как раз то, что тебе нужно, и гораздо проще.  
    А вообще с такими простыми задачами можно разобраться без помощи форума - используя справку. Если тебе нужно сделать что-то над чем-то то алгоритм действий состоит из 2 пунктов:
    1. При помощи Au3Info.exe узнаешь, как это что-то называется (это может быть ListBox, ComboBox, Edit, SysTabControl32 и т.д.).
    2. Открываешь справку и по ключевому слову (полученному из пункта 1) ищешь какие команды с ним работают.
     Дальше методом эксперимента подбираешь нужную тебе команду с нужными параметрами.

    Всего записей: 244 | Зарегистр. 17-06-2006 | Отправлено: 07:35 09-09-2009
    4kusnik



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста команду для выбора RadioButton.

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 14:19 09-09-2009
    U235

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

    Код:
    GUICtrlSetState($radio2, $GUI_CHECKED)

    Всего записей: 505 | Зарегистр. 14-12-2005 | Отправлено: 14:51 09-09-2009
    4kusnik



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

     
    переключить с Русский на English.

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 16:09 09-09-2009
    Kiev78

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ControlCommand ( "title", "text", controlID, "command" ,"option")

    Всего записей: 244 | Зарегистр. 17-06-2006 | Отправлено: 17:40 09-09-2009
    4kusnik



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

    Цитата:
    ControlCommand ( "title", "text", controlID, "command" ,"option")

    Вроде так должно быть:

    Код:
    ControlCommand ("Установка Mail.Ru Агента", "Выберите язык установки", "[CLASS:Button; INSTANCE:2]", "Check")

    но радиобаттон не переход на нужный мне.
     
    Проблема решилась добавлением WinWaitActive ("Установка Mail.Ru Агента") перед строкой ControlCommand ...

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 19:15 09-09-2009 | Исправлено: 4kusnik, 22:04 09-09-2009
    4kusnik



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста почему здесь снятие чекбоксов срабатывает:
     


    Код:
    ControlClick ("Installation of Mail.Ru Agent", "", "Button5")
    ControlClick ("Installation of Mail.Ru Agent", "", "Button6")
    ControlClick ("Installation of Mail.Ru Agent", "", "Button7")
    ControlClick ("Installation of Mail.Ru Agent", "", "Button10")

    а здесь не срабатывает:
     


    Код:
    ControlClick ("Installation of Mail.Ru Agent", "", "Button1")

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 13:16 10-09-2009 | Исправлено: 4kusnik, 13:16 10-09-2009
    AutoIT



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Всем ку.
    Может ктонить знает как сделать скрин из видеофайла?
    (делаю предпросмоторщик новых фильмов и клипов)
     
    Добавлено:
    4kusnik

    Цитата:
    ControlClick ("Installation of Mail.Ru Agent", "", "Button1")

    а ты уверен что кнопка первая?

    Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 16:55 10-09-2009
    4kusnik



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

    Цитата:
    а ты уверен что кнопка первая?

    Так показывает AutoIT Window Info

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 18:28 10-09-2009
    U235

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    4kusnik
    Попробуй активировать это окно и послать  
    Код:
    Send("{SPACE}")

    Всего записей: 505 | Зарегистр. 14-12-2005 | Отправлено: 18:41 10-09-2009
    4kusnik



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    U235
    Цитата:
    Попробуй активировать это окно и послать
    Код:
    Send("{SPACE}")  

     

    Это помогло, спасибо. Но есть вопросы:
     
    1. Почему же все таки не удалось снять чекбокс с помощью ControlClick? Мне кажется решение задачи снятия чекбокса через Send не очень правильное.
     
    2. Если делать снятие чекбокса с помощью Send("{SPACE}") происходит следующее:
     

     
    т.е. скрипт не дожидаясь конца установки посылает Send("{SPACE}" что приводит к нажатию кнопки CANCEL (т.е. отменяет установку). В тексте скрипта это выглядит так:

    Код:
    ControlClick ("Installation of Mail.Ru Agent", "", "Next >") ;запускается установка
    Send ("{SPACE}"); посылается нажатие клавиши SPACE

    Можно конечно прописать Sleep, типа такого:

    Код:
    ControlClick ("Installation of Mail.Ru Agent", "", "Next >")
    Sleep (15000)
    Send ("{SPACE}")

    но может есть какое то решение, которое позволяет дождаться конца установки и только потом посылать Send("{SPACE}"?

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 23:33 10-09-2009
    araneon



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

    Код:
    Run ( @ScriptDir & "\magentsetup.exe")
    WinWaitActive ("Установка Mail.Ru Агента")
    ControlCommand ("Установка Mail.Ru Агента", "Выберите язык установки", "[CLASS:Button; INSTANCE:2]", "Check")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button7")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button4")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button5")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button6")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button7")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button10")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "", "Button1")
    Sleep (100)
    WinWaitActive ("Installation of Mail.Ru Agent", "Start Mail.Ru Agent")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "Start Mail.Ru Agent", "Button1")
    Sleep (100)
    ControlClick ("Installation of Mail.Ru Agent", "Start Mail.Ru Agent", "Button2")

     
    Установку английской локализации делал изходя из скринов

    Всего записей: 152 | Зарегистр. 18-07-2008 | Отправлено: 01:01 11-09-2009 | Исправлено: araneon, 01:04 11-09-2009
    AutoIT



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Дак а фсетки, народ, как скрин из видеофайла выдернуть?
    Кста а куда гуру пропали?
     
    Добавлено:
    4kusnik

    Цитата:
    1. Почему же все таки не удалось снять чекбокс с помощью ControlClick? Мне кажется решение задачи снятия чекбокса через Send не очень правильное.

    Попробуй делать не с помощью ControlClick а с помощью GUICtrlSetState.

    Код:
    GUICtrlSetState ($Your_Radio, $GUI_UNCHECKED)

    Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 07:44 11-09-2009
    4kusnik



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    araneon, больше тебе спасибо. Вся эта хрень была только из под этого:

    Код:
    WinWaitActive ("Installation of Mail.Ru Agent","Start Mail.Ru Agent")  


    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 11:20 11-09-2009 | Исправлено: 4kusnik, 11:21 11-09-2009
    NickB

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна помощь в написании скрипта
    полная предыстория:
    есть такой jabber клиент jajc хочется его развернуть в домене  
    доменное имя пользователя = имя юзера на jabber сервере
    так вот jajc хранит логин/пароль в реестре в шифрованном виде  
    идея такая - при первом запуске юзером jajc писать в реестр все настройки
     
    вопрос: как писать в реестр уже шифрованное значение?
    оговорюсь сразу программист из меня не очень
    что удалось выяснить:
    строку jajc хранит там в Base 64 вроде как
    если поможет то на оф. форуме эта тема поднималась но я если честно не очень понял как сделать там речь про какой та Key для имени - 4235
     
    пример строки: admin на выходе получаем cQf4Zvo=

    Всего записей: 102 | Зарегистр. 04-07-2002 | Отправлено: 11:27 11-09-2009
    4kusnik



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как быть с такими чекбоксами? Какой функцией их снимать? Вроде и чекбоксы но AutoIT Window Info определяет их как SysTreeView32.  
     

     
    Куда ни наведи везде INSTANCE один и тот же SysTreeView32.
     
    И как раскрыть деревья внутри которых так же чекбоксы?

    Всего записей: 462 | Зарегистр. 09-03-2008 | Отправлено: 22:40 11-09-2009
    Kiev78

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://forum.oszone.net/showthread.php?s=b2ece477047926eb11cb1fb0cabb9cd9&t=146460

    Всего записей: 244 | Зарегистр. 17-06-2006 | Отправлено: 23:04 11-09-2009
    AutoIT



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

    Код:
    #include <string.au3>
     
    RegWrite ("HKEY_CURRENT_USER\Software\jajc\autorization", "login", "REG_SZ", _StringEncrypt(1, "admin", "4235", 1))
    RegWrite ("HKEY_CURRENT_USER\Software\jajc\autorization", "password", "REG_SZ", _StringEncrypt(1, "pass123", "4235", 1))
     
    ;проверим что у нас получилось:
    MsgBox (64, "Зашифрованный логин", RegRead ("HKEY_CURRENT_USER\Software\jajc\autorization", "login"))
    MsgBox (64, "Зашифрованный пароль", RegRead ("HKEY_CURRENT_USER\Software\jajc\autorization", "password"))
    MsgBox (64, "Расшифрованный логин", _StringEncrypt(0, RegRead ("HKEY_CURRENT_USER\Software\jajc\autorization", "login"), "4235", 1))
    MsgBox (64, "Расшифрованный пароль", _StringEncrypt(0, RegRead ("HKEY_CURRENT_USER\Software\jajc\autorization", "password"), "4235", 1))
    ;тока имя разела поменяй на правильное, от балды написал...
     
    RegDelete ("HKEY_CURRENT_USER\Software\jajc\autorization", "login") ;это удалишь, добавил чтоп реестр не засирать мусором
    RegDelete ("HKEY_CURRENT_USER\Software\jajc\autorization", "password") ;это удалишь, добавил чтоп реестр не засирать мусором

     
    Если не проканает, поиграяся уровнем шифрования (паследний параметр в функции шифрования)

    Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 04:41 12-09-2009 | Исправлено: AutoIT, 18:07 12-09-2009
    RAGod

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

    Цитата:
    Может ктонить знает как сделать скрин из видеофайла?

     

    Код:
    ffmpeg -i video.avi -an -ss 00:01:00 -r 1 -vframes 1 -s 320x240 -y -f mjpeg screenshot.jpg

     
    -ss 00:01:00 - время
    -s 320x240 размер исходного изображения (если не указать то будет такой же, как и в видео файле)
    Всё остальное, надеюсь и так понятно.  
    Можно массу всяких вариантов предложить, но из твоего вопроса мало что понятно, я подумал, что именно это тебе подходит больше всего

    Всего записей: 13 | Зарегистр. 07-01-2006 | Отправлено: 11:18 12-09-2009 | Исправлено: RAGod, 12:30 12-09-2009
    AutoIT



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    RAGod
    Неработат =(
    енто надо в командной строке писать? так ведь?
    у в ответ на команду ffmpeg пишет что незнает такой...(стоит вин 7 64 бит)
    вот как я написал:

    Код:
    ffmpeg -i "E:\Media\Фильмы\2 дня в Париже.avi" -an -ss 00:01:00 -r 1 -vframes 1 -s 320x240 -y -f mjpeg screenshot.jpg

    Есь соображения?
     
    Добавлено:
    P.S. Этот код я написал в батнике и выполнил.

    Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 17:56 12-09-2009
    Открыть новую тему    

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)
    Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2017

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru