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


Система 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
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    RagemanT 16:31 08-01-2010
    Цитата:
    Можно ли организовать поиск файла по имени?

    По имени файла? конечно можно. См. _FileListToArray в справке по UDF.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:44 08-01-2010
    RagemanT

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что-то я не совсем понял))
    Это же для подсчета файлов в папке,если я не ошибаюсь?
    Не могу понять как это связать с поиском по имени файла.
    Можно подробнее??

    Всего записей: 10 | Зарегистр. 08-01-2010 | Отправлено: 17:11 08-01-2010 | Исправлено: RagemanT, 17:21 08-01-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    RagemanT 17:11 08-01-2010
    Цитата:
    Это же для подсчета файлов в папке,если я не ошибаюсь?

    Ошибаешься
     

    Цитата:
    как это связать с поиском по имени файла


    Код:
    #include <File.au3>
     
    $aFiles = _FileListToArray("C:\", "*.ini")
     
    For $i = 1 To UBound($aFiles)-1
        MsgBox(64, $i, 'Файл #' & $i & ": " & $aFiles[$i])
    Next


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:39 08-01-2010
    NIKZZZZ



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

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

     

    Код:
    Func FileSearch($sPath, $sFileSrh) ;путь к каталогу и имя файла
        Local $sFile, $Search, $sRes = ""
        While 1
            $Search = FileFindFirstFile($sPath & "\" & $sFileSrh)
            If @error Then Return ""
            While 1
                $sFile = FileFindNextFile($Search)
                If @error Then ExitLoop
                $sFile = $sPath & "\" & $sFile
                If StringInStr(FileGetAttrib($sFile), "D") > 0 Then ContinueLoop
                $sRes = $sFile
                ;файл найден, далее проверка, содержит ли он нужные строки
                ; Есди содержит , выход - ExitLoop 2
            WEnd
            FileClose($Search)
            $Search = FileFindFirstFile($sPath & "\*.*")
            If @error Then ExitLoop
            While 1
                $sFile = FileFindNextFile($Search)
                If @error Then ExitLoop
                $sFile = $sPath & "\" & $sFile
                If StringInStr(FileGetAttrib($sFile), "D") = 0 Then ContinueLoop
                $sRes = FileSearch($sFile, $sFileSrh)
                If $sRes <> "" Then ExitLoop 2
            WEnd
            ExitLoop
        WEnd
        FileClose($Search)
        Return $sRes
    EndFunc   ;==>FileSearch


    Всего записей: 4550 | Зарегистр. 08-02-2006 | Отправлено: 17:57 08-01-2010
    RagemanT

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Мм,ну а если над будет найти несколько файлов с таким же именем? Что тогда делать?

    Всего записей: 10 | Зарегистр. 08-01-2010 | Отправлено: 18:30 08-01-2010
    NIKZZZZ



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

    Цитата:
    несколько файлов с таким же именем? Что тогда делать?

    А что вообще нужно с ними делать?
     

    Всего записей: 4550 | Зарегистр. 08-02-2006 | Отправлено: 18:34 08-01-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как сделать drop файла в ListBox чтобы там появилось имя файла?
     

    Код:
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListboxConstants.au3>
     
    $Form1 = GUICreate("Form1", 179, 99, 320, 585, -1, $WS_EX_TOOLWINDOW)
    $List1 = GUICtrlCreateList("", 0, 0, 177, 97, BitOR($LBS_SORT,$LBS_STANDARD,$WS_VSCROLL,$WS_BORDER))
    GUICtrlSetState (-1, $GUI_DROPACCEPTED)
    GUISetState(@SW_SHOW)
     
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 09:42 09-01-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MoBiRo 09:42 09-01-2010
    Цитата:
    Как сделать drop файла в ListBox

     

    Код:
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListboxConstants.au3>
     
    $Form1 = GUICreate("Form1", 179, 99, 320, 585, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_ACCEPTFILES))
     
    $List1 = GUICtrlCreateList("", 0, 0, 177, 97, BitOR($LBS_SORT, $LBS_STANDARD, $WS_VSCROLL, $WS_BORDER))
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
     
    GUISetState(@SW_SHOW)
     
    While 1
        $nMsg = GUIGetMsg()
     
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $GUI_EVENT_DROPPED
                GUICtrlSetData($List1, @GUI_DragFile)
        EndSwitch
    WEnd


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 11:49 09-01-2010
    dredd00

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите, надо написать скрипт для автоматической установки клиента firebirв скрытно.
    все уже обсосано много раз но! скрипт вроде работает, пока не делаю скырвать окна. после этого все, по кнопкам не тыкает хотя вроде должно.вот кусок скрипта
    в таком виде у меня не работает, отваливается по таймауту ожидания окна (>Exit code: 0    Time: 10.667)
    если закомментировать строчки WinSetState то все работает.
    Не могу понять в чем ошибка...

    Всего записей: 71 | Зарегистр. 27-02-2007 | Отправлено: 15:25 09-01-2010
    erjenia

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите аналог функции cin в AutoIT, аналог cout нашел (ConsoleWrite), а вот с cinом проблема.

    Всего записей: 37 | Зарегистр. 28-01-2006 | Отправлено: 02:54 10-01-2010
    NIKZZZZ



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

    Цитата:
    Подскажите аналог функции cin в AutoIT

    ConsoleRead()

    Всего записей: 4550 | Зарегистр. 08-02-2006 | Отправлено: 02:59 10-01-2010
    erjenia

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    А как тогда заставить его прочитать из консоли?
     
    Например:
    $n1=ConsoleRead();
    MsgBox(0, "n1", $n1);
    не выводит переданных программе данных.

    Всего записей: 37 | Зарегистр. 28-01-2006 | Отправлено: 03:10 10-01-2010 | Исправлено: erjenia, 03:13 10-01-2010
    NIKZZZZ



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

    Код:
    ; Compile this script to "ConsoleRead.exe".
    ; Open a command prompt to the directory where ConsoleRead.exe resides.
    ; Type the following on the command line:
    ;   echo Hello! | ConsoleRead.exe
    ;
    ; When invoked in a console window, the above command echos the text "Hello!"
    ; but instead of dispalying it, the | tells the console to pipe it to the STDIN stream
    ; of the ConsoleRead.exe process.
    If Not @Compiled Then
        MsgBox(0, "", "This script must be compiled in order to properly demonstrate it's functionality.")
        Exit -1
    EndIf
     
    Local $data
    While True
        $data &= ConsoleRead()
        If @error Then ExitLoop
        Sleep(25)
    WEnd
    MsgBox(0, "", "Received: " & @CRLF & @CRLF & $data)

     
    Скрипт должен быть скомпилирован с опцией "Create CUI instead of GUI EXE."

    Всего записей: 4550 | Зарегистр. 08-02-2006 | Отправлено: 03:22 10-01-2010
    dredd00

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как - то можно тыкать по кнопкам скрытого окна?  
    Controlclick не срабатывает...

    Всего записей: 71 | Зарегистр. 27-02-2007 | Отправлено: 10:20 11-01-2010
    sonromario

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пишу тестирование одного продукта на AutoIT возникли следующие проблемы:
    Большинство окон есть IEServer объекты. Достучаться удалось немного переписав либу IE.au3.
    После этого все вроде нормально работает до всего можно достучаться.
    Вопрос: Есть такая проблемка!
    Бывают моменты, когда в окне нажимаем на кнопочку, после чего вылетает окошко, которое тоже является объектом IEServer, ньюанс в том, что при поднятии этого окошка изпользуется JavaScript функция создающая ActiveX объекты.
     
    ПРОБЛЕМА:
    После поднятия этого окошка не исполняется скрипт, т.е. ничего не отрабатывает, даже WinWait или WinGetTitle и Send.
    Подскажите плиз что это может быть?
    И вообще конфликтует ли скрипт AutoIt с JavaScript?

    Всего записей: 1 | Зарегистр. 15-12-2009 | Отправлено: 17:31 11-01-2010
    Hackproof



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

    Цитата:
    OnConnect
     
    Raised when the irc control connects to the irc server
    Returns:
    server As String
    port As Long
     
    Usage:
    Private Sub IRC1_OnConnect(server As String, port As Long)
    msgbox "connected to " & server & " on port " & port
    IRC1.Join "#alba"
    End Sub

    Ничего умнее "If $IrcObj.OnConnect($serv,$port) Then" я не придумал, но и это не работает.
    Сам модуль и справку, если кому понадобился, можно скачать здесь, 56 кб.

    Всего записей: 106 | Зарегистр. 24-05-2008 | Отправлено: 13:48 12-01-2010 | Исправлено: Hackproof, 13:50 12-01-2010
    BIOS999

    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    прошу помощи у ГУРУ, можно-ли сделать какойнить обработчик ошибок, который при фатальной ошибке скрипта выводил строку с ошибкой.
    Скрипт естессно - скомпилированный

    Всего записей: 30 | Зарегистр. 26-05-2008 | Отправлено: 14:01 12-01-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    BIOS999 14:01 12-01-2010
    Цитата:
     можно-ли сделать какойнить обработчик ошибок, который при фатальной ошибке скрипта выводил строку с ошибкой

    А в шапку заглянуть не судьба?

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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RagemanT
    Есть два скрипта от ViSiToR и NIKZZZZ которые осуществляют поиск файлов. Я практически в каждый второй скрипт добавляю эти функции поиска.
    Но искать по диску C: будет накладно, переворошить несколько тысяч файлов. В скрипт я добавляю проверку типа если последнии три символа в имени файла ini тогда выполнить проверку по содержимому, если есть "то и то", то выполнить с файлом то что нужно (скопировать, удалить, изменить содержимое) иначе пропустить.
    Эти скрипты нужно добавить в шапку. А ещё в шапку добавить готовые регулярные выражения по работе с файлами ini, reg, xml, выражения для действий с путями и файлами. У меня сейчас папка с некоторыми скриптами с форума, может её зажать в архив и выложить?
     
    Вот скрипты общей кучей.

    Всего записей: 3453 | Зарегистр. 03-05-2006 | Отправлено: 14:42 13-01-2010 | Исправлено: AZJIO, 17:32 13-01-2010
    BIOS999

    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ещё вопрос, можно ли создать Tab и TabItem-ы внутри Group?

    Всего записей: 30 | Зарегистр. 26-05-2008 | Отправлено: 17:59 13-01-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.Board
    © Ru.Board 2000-2017

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru