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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    reg-backup-6
    Смысл его такой: перед тем как вести данные reg-файла в реестр выгодно сделать бэкап веток, которые reg-файл собирается изменять. Можно сделать через контекстное меню, но мне главное корректное бэкапирование. То есть скрипт читает переданный ему рег-файл, по указанным в рег файле веткам и пытается экспортировать эти ветки в общий рег-файл, который создаётся в этой же папке.
    Поправил, добавил создание reg-файла удаления без заголовка и ограничил повторы. Если ветка повторяется, то она не экспортируется повторно, игнорируется, так как уже добавлена.

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 16:19 23-12-2009 | Исправлено: AZJIO, 14:19 19-03-2010
    Lovec



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

    Всего записей: 1028 | Зарегистр. 29-10-2002 | Отправлено: 17:08 23-12-2009
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lovec
    я могу командой
    Цитата:
    reg save HKEY_LOCAL_MACHINE\SOFTWARE SOFTWARE
    reg save HKEY_CURRENT_USER DEFAULT
    reg save HKEY_LOCAL_MACHINE\SYSTEM SETUPREG.HIV
    выполнить сохранение, но файлы будут большого размера, от 5 до 20Мб, а мне бы выборочно. Вот дали мне конфиги в виде рег-файлов, так я сделаю правильные конфиги из своего компа, например для прописки параметров воспроизведения медиаплеера, и мне эти данные придётся на других компах использовать. Поэтому важно точность и ничего лишнего. Ну или хотя бы приближённо к идеалу.
    Кстати, уже поправил скрипт, проблема была в выделении ветвей реестра кавычками при вызове ком-строки в скрипте. На эти грабли постоянно наступаю. Обновил скрипт, третья редакция.

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 17:33 23-12-2009 | Исправлено: AZJIO, 19:05 23-12-2009
    madmasles

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

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 19:22 25-12-2009
    AZJIO



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

    Цитата:
    [HKEY_CURRENT_USER\Control Panel\Desktop]
    "Dra"="77"
     
    [HKEY_CURRENT_USER\Software]
     
    [HKEY_CURRENT_USER\Software\Microsoft]
     
    [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer]
     
    [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop]
     
    [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Components]

     
    [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Components\0]
    "Position"=hex:00,00
     
    [HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences]
    "ShellStyleFile"="ff.msstyles"
    Хочу добавить в скрипт бэкапирования реестра игнорирование веток без параметров, иначе вся ветка HKEY_CURRENT_USER\Software экспортируется, приходится вручную проверять рег-файл перед бэкапированием.

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 02:53 26-12-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 02:53 26-12-2009
    Цитата:
    как регулярным выражением удалить строки выделенные красным текстом.

    Не обязательно регулярным выражением, можно так:
     

    Код:
     
    _IniDeleteEmptySections("Export.reg")
     
    Func _IniDeleteEmptySections($sIniFile)
        Local $aSections = IniReadSectionNames($sIniFile)
        If @error Then Return SetError(1, 0, 0)
     
        For $i = 1 To UBound($aSections)-1
            IniReadSection($sIniFile, $aSections[$i])
            If @error = 1 Then IniDelete($sIniFile, $aSections[$i])
        Next
     
        Return 1
    EndFunc


    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 03:05 26-12-2009
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Спасибо, а я уже час голову ломал...
    Вот исправленный скрипт reg-backup.au3, пятая редакция.
    Есть, конечно не совершенность скрипта, например

    Цитата:
    [HKEY_CURRENT_USER\Software\Desktop]  
    "Position"=hex:00,00
     
    [HKEY_CURRENT_USER\Software\Desktop\Components]  
    "Position"=hex:00,00
    обе ветки отправятся в экспорт, хотя первая включает в себя и вторую. Идеально экспортировать по параметром, но похоже с таким подходом трудно составить регулярное выражение или целый алгоритм с вложенными циклами и посекционной обработкой.

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 03:35 26-12-2009 | Исправлено: AZJIO, 03:55 26-12-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 03:35 26-12-2009
    Цитата:
    обе ветки отправятся в экспорт, хотя первая включает в себя и вторую

    Да нет вроде, это получится ветка в ветке, и будут созданы два параметра в двух ветках.

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 11:53 26-12-2009
    NIKZZZZ



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

    Цитата:
    Подскажите как регулярным выражением удалить строки выделенные красным текстом.  


    Код:
    $sReg=StringRegExpReplace($sReg,"(?s)\[[^\]]+\]\s{4,}","")


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 12:38 26-12-2009
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Для чего предназначен диалог FileSaveDialog?
    $var = FileSaveDialog( "Choose a name.", $MyDocsFolder, "Scripts (*.aut;*.au3)", 2)

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 02:19 28-12-2009
    Rjevsky

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

    Всего записей: 47 | Зарегистр. 24-09-2005 | Отправлено: 08:49 28-12-2009
    Hackproof



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А в $var пишется выбранный путь.
    Например так:

    Код:
    $text="bla-bla,kemska volost'"
    $var=FileSaveDialog( "Choose a name.", "C:\", "Text (*.txt)", 2)
    FileWriteLine($var&".txt",$text)

    Строка запишется в файл, выбранный в диалоге.

    Всего записей: 106 | Зарегистр. 24-05-2008 | Отправлено: 11:14 28-12-2009
    MoBiRo

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

    Код:
    HotKeySet("q", "Func_q")
    HotKeySet("w", "Func_w")
     
    While 1
        Sleep(100)
    WEnd
     
    Func
    Func_q()
        ConsoleWrite("yes")
    EndFunc
     
    Func
    Func_w()
        ConsoleWrite("yes")
    EndFunc

     
     
    Ошибок нету, но когда нажимаю q или w - ничего не происходит =\

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 02:49 29-12-2009 | Исправлено: MoBiRo, 02:50 29-12-2009
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoBiRo
    а что должно произойти? я выполнил ConsoleWrite("yes") у меня ничего не произошло. Некоторые сочетания клавиш не назначаются. Возможно раскладка как то влияет, посмотри поиском "Версии для печати".
     
    ViSiToR
    А возможно ли сделать такую форму в виде диалогового окна с плавающей кнопкой или неважно каким элементом, но чтоб можно было изменять размеры окна и плавающей кнопки, а скрипт выдавал размеры текущего окна и размеры и координаты плавающей кнопки в буфер обмена. Ну как в других с++ билдерах визуальное создание формы, а то каждый раз координаты и размер кнопок замучаешься выщитывать. А так уже по легче будет форму создавать.

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 03:41 29-12-2009 | Исправлено: AZJIO, 03:50 29-12-2009
    Hackproof



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если имеется ввиду именно визуальная среда разработки, где можно набросать элементы на форму и получить код, а не скрипт, в котором подвижны кнопки и форма - то Koda, в шапке.

    Всего записей: 106 | Зарегистр. 24-05-2008 | Отправлено: 05:13 29-12-2009
    AZJIO



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

    Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 06:05 29-12-2009
    botanat



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!
     
    Как дождаться РЕАЛЬНОГО появления окна, т.е. - его полной отрисовки?
     
    Дело в том, что мне нужно поочерёдно открыть несколько окон, очерёдность эта строгая, т.е. на панели задач Windows окна должны располагаться в указанной последовательности. Но одно из окон (приложение) может долго загружаться, в итоге - AutoIt видит окно всеми возможными функциями (я все проверки уже перепробовал) и передаёт управление на запуск следующего окна (приложения), которое запускается гораздо быстрее и становится на панели задач первым, т.к. первое окно хоть и появилось для AutoIt, но реально не отрисовалось!
     
    Паузы использовать не вариант, т.к. окно может запускаться и 2 и 3 и 10 секунд, в зависимости от загруженности системы и прочих составляющих.
     
    ЗЫ: Не смог этот недостаток автоматизаторов побороть в nnCron, теперь не могу и в AutoIt (а он мне значительно больше нравится).

    Всего записей: 45 | Зарегистр. 08-10-2009 | Отправлено: 10:41 29-12-2009 | Исправлено: botanat, 10:44 29-12-2009
    NIKZZZZ



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

    Цитата:
    Ошибок нету, но когда нажимаю q или w - ничего не происходит =\

    Если ее запустить под SciTE, в нижнем окошке будет появляться указанный текст.
     
    AZJIO
    Koda прекрасно экспортирует и импортирует формы, причем при желании может генерить полноценный код , включая OnEvent.
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 10:46 29-12-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    botanat 10:41 29-12-2009
    Цитата:
    первое окно хоть и появилось для AutoIt, но реально не отрисовалось!

    Т.е нужно просто проверить имеет ли окно кнопку на панели задач?

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 12:26 29-12-2009
    MoBiRo

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

    Цитата:
    Если ее запустить под SciTE, в нижнем окошке будет появляться указанный текст.

    Да, но с Send не получается =\
    Я хотел сделать прогу, которая по нажатию на английскую клавишу, отправляла бы русскую букву этой же клавиши в одну игру. Дело в том, что там заблокирован русский, а вот сэндом он отправляется прекрасно.  
    Я нашел в вышеперечисленных примерах такой скрипт, но он немного запутанный и получает только большие буквы. Можете написать мне скрипт, который перехватывал только английские буквы, большие и маленькие? Дальше я уже сам по массиву буду заменять их на русские.

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 12:44 29-12-2009 | Исправлено: MoBiRo, 13:06 29-12-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.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru