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

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



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

    Код:
        Opt("WinWaitDelay",100)
        Opt("WinTitleMatchMode",4)
        Opt("WinDetectHiddenText",1)
        Opt("MouseCoordMode",0)
        WinWait("Check Point VPN-1 SecureClient Connection","&Location Profile:")
        If Not WinActive("Check Point VPN-1 SecureClient Connection","&Location Profile:") Then WinActivate("Check Point VPN-1 SecureClient Connection","&Location Profile:")
            WinWaitActive("Check Point VPN-1 SecureClient Connection","&Location Profile:")
            MouseMove(157,292)
            MouseDown("left")
            MouseUp("left")
            Send("nuvory")
            MouseMove(62,417)
            MouseDown("left")
            MouseUp("left")
            WinWait("VPN-1 SecureClient Connect Progress","Connection succeeded")
            If Not WinActive("VPN-1 SecureClient Connect Progress","Connection succeeded") Then WinActivate("VPN-1 SecureClient Connect Progress","Connection succeeded")
                WinWaitActive("VPN-1 SecureClient Connect Progress","Connection succeeded")
                MouseMove(214,143)
                MouseDown("left")
                MouseUp("left")

     
    теперь вопрос, как сделать чтоб это действие обрабатывалось бесконечное кол раз, тоесть висело в трее и при появлении окна Check Point VPN-1 SecureClient Connection срабатывало в очередной раз?
     
    заранее спасибо

    Всего записей: 223 | Зарегистр. 18-07-2006 | Отправлено: 11:26 23-02-2010
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Цикл сделай
    While 1
    If WinExists ( "title", ["text"] ) Then _function ()
    sleep (200)
    WEnd
     
    Func _function ()
    ;тут твои действия с окном
    EndFunc

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 12:13 23-02-2010
    WaikER

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

    Всего записей: 19 | Зарегистр. 10-10-2008 | Отправлено: 21:23 24-02-2010 | Исправлено: WaikER, 21:26 24-02-2010
    Dmitri_Andreev

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста, можно ли средствами Autoit реализовать самоудаление…  
    Тоесть скрипт, после выполнения, удалят сам себя и свою рабочую директорию.

    Всего записей: 38 | Зарегистр. 14-07-2009 | Отправлено: 18:38 25-02-2010
    ynbIpb



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

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 19:48 25-02-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dmitri_Andreev
    И здесь посмотрите: Удаление папки @ScriptDir

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 20:40 25-02-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сделал WinList() и добавляю все существующие формы в List. Возникла проблемочка в том случае, если  взаголовке окна есть символ "|". List считает этот символ разделителем и из одной формы делает как бы две.
    Как сделать так, чтобы в List заголовок окна отображался верно? Тоесть надо как-то проверить переменную с заголовком на наличие в ней "|" и при нахождении заменить это тсимвол на такой, чтобы List его отобразил как "|".
     
    Добавлено:
    И ещё вопрос: можно ли как-нибудь образом получить иконку у активного окна и сделать её трэйной иконкой моего скрипта? И как создать несколько иконок в трее?))

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 01:12 28-02-2010
    NIKZZZZ



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

    Цитата:
    Как сделать так, чтобы в List заголовок окна отображался верно?

    Можно заменить  "|"  на заведомо неиспользуемый, например
    Opt("GUIDataSeparatorChar", "#")
     

    Цитата:
    И ещё вопрос: можно ли как-нибудь образом получить иконку у активного окна и сделать её трэйной иконкой моего скрипта? И как создать несколько иконок в трее?))  

    Для скомпилированного скрипта в качестве иконки в трее можно указать сам скрипт.
    TraySetIcon(@ScriptFullPath)
     
    Несколько иконок в трее - этот вопрос уже обсуждался несколько страниц назад.
     
     
     
     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 08:45 28-02-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Ясно. То есть можно будет сделать фокус на оперу и иконка моего скрипта примет иконку оперы?)) И как я узнаю полный путь к exe, если мне известен только заголовок окна и его хэндл в виндовсе?

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 18:58 28-02-2010
    madmasles

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

    Код:
    #Include <WinAPIEx.au3>
     
    $Id = WinGetProcess("Title")
    MsgBox(0, "", $Id)
    If $Id > 0 Then
        MsgBox(0, "", _WinAPI_GetModuleFileNameEx($Id))
    Else
        MsgBox(0, "","NO")
    EndIf

    WinAPIEx

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 19:26 28-02-2010 | Исправлено: madmasles, 19:28 28-02-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я хочу вывести столбик 'Maps.DM.' из таблицы 'someone'? но при этом выводится какая-то чушь. Если заменить 'Maps.DM.' на звёздочку, то всё выводится правильно, но выводятся вся таблица, а мне нужен всего лишь один столбик...   Не понимаю в чём загвоздка =( Подробнее...
     
    Добавлено:

    Цитата:
    Несколько иконок в трее - этот вопрос уже обсуждался несколько страниц назад.

    А где мне найти ModernMenuRaw.au3? Сколько не гуглил - не нашел...

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 19:39 28-02-2010
    madmasles

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

    Цитата:
    Сколько не гуглил - не нашел...

    запрос в google.ru ModernMenuRaw.au3 выдал кучу ссылок. Как-то странно Вы гуглили.
    Оригинал: ModernMenuRaw.au3

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 22:34 28-02-2010 | Исправлено: madmasles, 23:05 28-02-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    выдаёт, но где её скачать - не нашел =(
    Спасибо. Кстати... я кажись открывал эту ссылку xDDD Надо было до конца прокрутить))
     
    Добавлено:
    Рыскаю в хэлпе в поисках функции определения или хэндла, или хотя бы заголовка активного окна...
     
    Добавлено:
    А как проверить текст на содержание "@mail.ru" или "@gmail.com"? 0_0
     
    Добавлено:
    И ещё, создал простое трей-меню и не приложу ума как убрать галочки, которые появляются при нажатии на любой из айтимов...
     

    Код:
    Opt("TrayMenuMode", 1)
     
    $updateitem = TrayCreateItem("Update")
    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")
    TraySetClick(16)
     
    TraySetState()
     
    while 1
        sleep(100)
    WEnd

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 01:51 01-03-2010 | Исправлено: MoBiRo, 04:14 01-03-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MoBiRo 01:51 01-03-2010
    Цитата:
    как проверить текст на содержание "@mail.ru" или "@gmail.com"?


    Код:
     
    $Email = "vasya@gmail.com"
    If _StringIsValidEmail($Email) Then MsgBox(0, "Check Email", "<" & $Email & "> is vailid Email!")
     
    Func _StringIsValidEmail($sEmail, $sDelim="")
        If $sDelim <> "" And StringInStr($sEmail, $sDelim) Then
            Local $aSplit = StringSplit($sEmail, $sDelim, 1)
     
            For $i = 1 To UBound($aSplit)-1
                If Not _StringIsValidEmail(StringStripWS($aSplit[$i], 3)) Then Return 0
            Next
     
            Return 1
        Else
            Return StringRegExp($sEmail, "^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|" & _
                "1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))" & _
                "([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$")
        EndIf
    EndFunc

     

    Цитата:
    как убрать галочки, которые появляются при нажатии на любой из айтимов


    Код:
    Opt("TrayMenuMode", 1 + 2)


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

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



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

    Цитата:
    А как проверить текст на содержание "@mail.ru" или "@gmail.com"? 0_0
    ещё так:

    Код:
    $text='dfsg@pochta.ru'
    If StringInStr($text,'@mail.ru')<>0 and StringInStr($text,'@gmail.com')<>0 Then
    MsgBox(0, "Сообщение", "текст содержит @gmail.com или @mail.ru")
    Else
    MsgBox(0, "Сообщение", "текст НЕ содержит @gmail.com и @mail.ru")
    EndIf

    ___________________________
    Сделал программку Portable AutoIt3 v1.6 (обновил 7 раз) для смены между версиями AutoIt3 или использование AutoIt3 как портабельной.

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 20:28 01-03-2010 | Исправлено: AZJIO, 20:34 06-04-2010
    Orion_76



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может у кого завалялась функция конвертации из ДОС в ВИН (866 -> 1251)?
    Раньше гдето находил...А сейчас найти не могу-((
     
    В общем-то надо вывод отработки батника вывести в Эдит без иероглифов...
    Пробовал предварительно в батнике выполнять - chcp 1251
    Например результат "dir" выводит нормально, по русски
    а "net start" - опять иероглифы.

    Всего записей: 386 | Зарегистр. 02-11-2007 | Отправлено: 10:27 02-03-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Orion_76
    Держите: Encoding_UDF
    Позже дам ссылку на источник. Сейчас там сайт не доступен.
     
    Источник: Encoding UDF - Библиотека для работы с кодировками строк

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 11:35 02-03-2010 | Исправлено: madmasles, 13:42 02-03-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если способ вывести экспортированные reg-данные в консоль? То есть не создавать файл, а получить данные и оставлять в памяти. Необходимо для увеличении скорости работы скрипта.

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 17:01 02-03-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Наверное, можно через ClipPut("value") и ClipGet()

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 17:48 02-03-2010
    Kar1son

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как поймать в Edit(GuiCtrlCreateEdit) нажатие Enter?
    пробел я могу поймать:
    if StringRight(GuiCtrlRead($hEdit),1)=' ' then
    а с Enter'ом как быть?

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 17:56 02-03-2010
       

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