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

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

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

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

   

AddXL

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

AutoIt3

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

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

 
Помощь по AutoIT:
  • Справку на русском (и не только) вы всегда(?) сможете найти тут
  • Справочник по командам rundll32
  • Русский справочник по API-функциям
  • Помощь по Регулярным выражениям
  • AutoIt v3: Your Quick Guide (652 КБ) - Ваш быстрый гид в мир AutoIt-а (книга в формате pdf)
     
    Инструметы для 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:
  • Коллекция AutoIt скриптов от Sanja Alone
  • Коллекция скриптов на http://msfn.org
  • Пополняющийся со временем сайт с полезными утилитами и функциями на AutoIt
  • Desktop Icons Restorator - Скрипт-Программа для сохранения/восстановления позиции иконок р.стола.
  • CaptureIt - Утилита предназначена для захвата изображений с вашего экрана.
  • SwitchIt - Скрипт для конвертирования выделенного текста
  • Скрипт расскраски кода AutoIt для публикации в форумах
     
    Общие вопросы и решения на Autoit:
  • Обработчик скриптов добавляющий отладчик (debugger)
  • Интеракция между несколькими скриптами
  • Пример использование интеракции между скриптами - Добавление элементов GUI с внешнего модуля
  • Копирование большого файла с отображением данных прогресса
  • Создание динамического меню в Tray Icon (значёк в области уведомления)
  • Пример создания своего мастера (Wizard)
  • Метод позволяющий запускать код VBS не создавая временных файлов
  • Описание функции GUIRegisterMsg()
  • Пример перехвата вводимых символов с клавиатуры
  • Пример деактивирования TabItem
  • Пример вывода лога в Edit-поле (с поддержкой форматирования текста)
  • Пример остановки/начало выполнения скрипта + Слежение за б.обмена с заменой неподдерживаемых в имени файла символов
  • Пример использования меню с иконками (ModernMenu.au3) -> Список программ в меню значка в системном трее
     
  • Как по PID процесса вычислить путь запускаемого файла
  • Получение IP по подключенному сокету
     
    Отдельные функции (UDF):
  • Функции Отключения/Подключения к Интернету
  • Функция проверки подключения к Интернету
  • Функция для получения структуры директории включая подкаталоги
  • Функция для поиска в файлах
  • Функция для смены разрешения экрана
  • Функция для смены раскладки клавиатуры в определённом окне
  • Функция для получения списка процессов с допол. инфой (путь к исполняемому файлу и др.)
  • Функции и пример для отображения детального процесса закачки файла
  • Функция (и пример использования) для отображения стильного диалога “О Программе” - [Усовершенствованная версия]
  • Функция возвращает пронумерованный список всех классов определённого окна + функция получения хендлов для этих классов
  • Функция для получения заголовка окна (или его идентификатора) по ID процесса (PID)
  • Функция _StringIsUTF8Format() + _StringToUTF() - Первая проверяет если строка содержится в UTF-8 формате, вторая преобразовывает строку в UTF-8 формат
  • Функция _FileOpenDialogEx - Возвращает массив (или строку) с полными путями к выбранным файлам
  • _AU3_Lib* Функции - Предназначены для обработки подключаемых библиотек через #include
  • Функция транслитерации строки
  • Расширенная библиотека для работы с реестром
     
    За шапкой следит ViSiToR  

  • Всего записей: 6 | Зарегистр. 24-11-2005 | Отправлено: 13:20 24-11-2005 | Исправлено: Maz, 11:50 17-04-2017
    ViSiToR



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

    Цитата:
    речь о неизвестном заранее наборе символов

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

    Код:
     
    $String = "test [or] example ;)"
     
    $String = StringRegExpReplace($String, '([][{}()|.?+*\\^])', '\\\1')
     
    MsgBox(64, "", "Теперь все служебные символы могут обрабатываться как обычные ;) :" & @LF & @LF & $String)
     


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 08:21 13-09-2007 | Исправлено: ViSiToR, 08:22 13-09-2007
    NIKZZZZ



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

    Цитата:
    неизвестном заранее наборе символов

    Значит в этом наборе символов предварительно необходимо выполнить замену.  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 08:22 13-09-2007
    2Oldschool

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

    Всего записей: 5 | Зарегистр. 23-08-2007 | Отправлено: 11:28 13-09-2007
    NIKZZZZ



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

    Цитата:
    $String = StringRegExpReplace($String, '([][{}()|.?+*\\^])', '\\\1')  

    А зачем нужно выделенное пустое множество?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 12:46 13-09-2007
    Maza Faka



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

    Цитата:
    Посовейтуйте куда обратиться

    Попробуй сюда

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:16 13-09-2007
    ViSiToR



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

    Цитата:
    зачем нужно выделенное пустое множество?

    Попробуй мой пример без них - Ведь и квадратные скобки тоже попадаются, и считаются служебными символами.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 19:26 13-09-2007
    NIKZZZZ



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

    Цитата:
    StringRegExpReplace($String, '([][{}()|.?+*\\^])', '\\\1')

    Тогда это должно выглядеть так:
    StringRegExpReplace($String, '([{}()|.?+*\\^\]\[])', '\\\1')
    В твоем примере [] будут просто проигнорированы - это не отдельные скобки, а пустое множество.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 20:06 13-09-2007
    ViSiToR



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

    Цитата:
    Тогда это должно выглядеть так:

    И так можно..
     

    Цитата:
    В твоем примере [] будут просто проигнорированы

    Ты мой пример пробовал?
     
    А вообще то сам Patern писал не я, а человек который обладает обширными знаниями в RegExp

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 20:32 13-09-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Твой пример можно интерпретировать двояко:
    '([][{}()|.?+*\\^])'
    '([][{}()|.?+*\\^])'
    В таких случаях лучше не рисковать, хотя он и работает.
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 20:51 13-09-2007 | Исправлено: NIKZZZZ, 20:54 13-09-2007
    ViSiToR



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

    Цитата:
    Твой пример можно интерпретировать двояко:

    Неа
     
    Первые скобки если являются служебными, они расматриваются как пара, если найдена вторая парная скобка внутри другой пары, тогда берётся именно она, в противном случае поиск продолжается дпалее до конца строки - RegExp механизм не смотрит на самые крайние (внешние) скобки, а именно на первые (и последующие) парные (это конечно зависит от заданных параметров).
     


     
     
    Добавлено:
    Desktop Icons Restorator 1.0
    Программа предназначена для сохранения и восстановления позиции иконок рабочего стола.
     
       
     
    P.S
    В архиве кроме исходников есть также отдельно скомпилированный скрипт, работает без внешних ресурсов.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 21:25 13-09-2007 | Исправлено: ViSiToR, 22:20 13-09-2007
    euheny



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

    Цитата:
    StringRegExpReplace($String, '([][{}()|.?+*\\^])', '\\\1')

    Да - как ни странно работает
     
    сразу что приходит на ум

    Код:
     
    $String = "test [or] example )"  
    $characters = "][{}()|.?+*\\^"  
    $String = StringRegExpReplace($String, '([$characters])', '\\\1')  
     

    и далее

    Код:
     
    $BigString = "test [or] example )"
    $String = "[or]"
    $result = StringRegExp($BigString, '([$String])')
    MsgBox(32, "", "странности какие-то :" & @LF & @LF & $result)
     

    Цитата:
    Первые скобки если являются служебными, они расматриваются как пара, если найдена вторая парная скобка внутри другой пары, тогда берётся именно она, в противном случае поиск продолжается дпалее до конца строки - RegExp механизм не смотрит на самые крайние (внешние) скобки, а именно на первые (и последующие) парные (это конечно зависит от заданных параметров).

    а это вобще приводит к задуманности - может пару примерчиков  


     
    А можно-ли уменьшить размер exe-шника ?

    Всего записей: 3930 | Зарегистр. 22-11-2006 | Отправлено: 01:36 15-09-2007 | Исправлено: euheny, 01:42 15-09-2007
    ViSiToR



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

    Цитата:
    сразу что приходит на ум

    Я что-то затрудняюсь понять к чему это всё ведёт?
     

    Цитата:
    странности какие-то

    Ничего странного, просто не верное использование переменной
     

    Код:
    $String = "test [or] example "  
    $characters = "][{}()|.?+*\\^"  
    $String = StringRegExpReplace($String, '[' & $characters & ']', '\\\1')

     

    Цитата:
    может пару примерчиков

    Пимерчиков чего?
     

    Цитата:
    А можно-ли уменьшить размер exe-шника ?

    У меня удалось максимум до 198 kb уменьшить, всё, дальше не реально(?), и с каждой версией AutoItSC.bin растёт .
    Это ещё также зависит от ресурсов скрипта и от используемой иконки, если к примеру скомпилировать чистый скрипт с одной строчкой кода (к примеру MsgBox(64, "Hi", "Hello World!")), и со стандартной иконкой, то вес будет около 201 kb на AutoIt 3.2.4.9 (я правда в файле AutoItSC.bin убираю лишние ресурсы, такие как иконки ).

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:55 15-09-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Каждый о своем.
    Непонятный глюк StringRegExp - в русской XP работает , Eng - нет. Русские буквы не используются.  Кодировка 1251, может с UniCode намудрили?  

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



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

    Цитата:
    Я что-то затрудняюсь понять к чему это всё ведёт?

    ну как же - обойтись без StringRegExpReplace (мой второй код)
     

    Цитата:
    Пимерчиков чего?

    того как это выглядит наглядно (принцип обработки скобок)
     

    Цитата:
    всё, дальше не реально(?)

    да я к тому чтобы как-то конвертить в скажем C++
    ну что-то типа того
     
    NIKZZZZ
    т.е. и с последней тоже самое ?
     
     

    Всего записей: 3930 | Зарегистр. 22-11-2006 | Отправлено: 08:03 15-09-2007
    euheny



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А есть какой скриптик для подключения dial-up ?
     
    А то я тут начал делать - интересно сравнить  

    Всего записей: 3930 | Зарегистр. 22-11-2006 | Отправлено: 08:42 17-09-2007
    ViSiToR



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

    Цитата:
    того как это выглядит наглядно

    Ну мой пример это показывает... особых примеров у меня нету  
     

    Цитата:
    чтобы как-то конвертить в скажем C++

    А зачем тогда AutoIt? или я опять не понимаю суть.
     

    Цитата:
    А есть какой скриптик для подключения dial-up ?

    Можно через Rasdial... но есть и API-метод...
     

    Код:
     
    Global Const $INTERNET_AUTODIAL_FORCE_ONLINE = 0x01
    Global Const $INTERNET_AUTODIAL_FORCE_UNATTENDED = 0x02
    Global Const $INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 0x04
    Global Const $INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT = 0x08
     
    If _InetDisconnect() Then
        MsgBox(0,'Сообщение','Подключение разорвано')
    Else
        MsgBox(16,'Ошибка','При разрыве подключения произошла ошибка')
    EndIf
     
    If _InetConnect($INTERNET_AUTODIAL_FORCE_ONLINE + $INTERNET_AUTODIAL_FORCE_UNATTENDED) Then
        MsgBox(0,'Сообщение','Подключение установлено')
    Else
        MsgBox(16,'Ошибка','В процессе подключения произошла ошибка')
    EndIf
     
    Func _InetConnect($iFlags = 0x01, $hWnd = 0)
        Local $ret = DllCall('wininet.dll', 'int', 'InternetAutodial', 'dword', $iFlags, 'hwnd', $hWnd)
        If Not $ret[0] Then
            $ret = DllCall('kernel32.dll', 'int', 'GetLastError')
            Return SetError(1, $ret[0], False)
        EndIf
        Return True
    EndFunc
     
    Func _InetDisconnect()
        Local $ret = DllCall('wininet.dll', 'int', 'InternetAutodialHangup', 'dword', 0)
        If Not $ret[0] Then
            $ret = DllCall('kernel32.dll', 'int', 'GetLastError')
            Return SetError(1, $ret[0], False)
        EndIf
        Return True
    EndFunc
     

    Автор скрипта: amel27

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 09:09 17-09-2007
    pom205

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    А в чём делается такая чудная подсветочка для форумов? Ткните в ссылку плиз.

    Всего записей: 555 | Зарегистр. 03-06-2006 | Отправлено: 15:53 17-09-2007
    ViSiToR



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

    Цитата:
    в чём делается такая чудная подсветочка для форумов?

    В шапке есть Скрипт расскраски кода AutoIt для помещения в форумы

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:58 17-09-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pom205
    В шапке, раздел "Готовые скрипты и программы с открытым кодом на AutoIt"
     
    Добавлено:
    ViSiToR


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:58 17-09-2007
    kefirko



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос.
    Для того, чтобы узнать задержку до хоста я могу использовать команду Ping ( address or hostname [, timeout] ).
     

    Код:
     
    $ping=Ping("europe.battle.net", 250)
    If $ping Then
     Msgbox(0, "Northrend (Europe)", "Задержка до сервера: " & $ping & "ms")
    Else
     Msgbox(0, "Northrend (Europe)", "Не удалось определить задержку")
    EndIf
     

     
    Но если на хосте закрыто icmp, то я не узнаю величину пинга.
    Какой командой или алгоритмом я могу это узнать?
     

    Всего записей: 50 | Зарегистр. 18-09-2007 | Отправлено: 23:44 18-09-2007 | Исправлено: kefirko, 23:46 18-09-2007
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)
    Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru

    Рейтинг.ru