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


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



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

    Цитата:
    Нужно видеть чтобы сказать точно

    Что именно нужно видеть?
     
    Добавлено:
    Что самое интересное, некоторые функции отрабатывают например RichText_LineIndex

    Всего записей: 42 | Зарегистр. 22-10-2005 | Отправлено: 22:58 28-04-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    fox96 22:58 28-04-2009
    Цитата:
    Вряд ли это баг в приложении

    Если оно крушится, то безусловно в нём .
     

    Цитата:
    Что именно нужно видеть?

    Это окно с Richedit-элементом, чтобы потестировать.
     

    Цитата:
    некоторые функции отрабатывают например RichText_LineIndex

    Ну а RichText_GetText?
     
    Добавлено:
    fox96
    А если так:
     

    Код:
    $sText = ControlGetText("title", "", "TRichEdit1")

     
    ?

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

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



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    fox96
    + и title можно попробовать, для разнообразия, указать классом окна.

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 06:00 29-04-2009
    fox96



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

    Цитата:
    $sText = ControlGetText("title", "", "TRichEdit1")

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

    Всего записей: 42 | Зарегистр. 22-10-2005 | Отправлено: 11:05 29-04-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    fox96 11:05 29-04-2009
    Цитата:
    Могу выслать само приложение

    Жду в ПМ .

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 18:01 29-04-2009 | Исправлено: ViSiToR, 18:03 29-04-2009
    NORIO



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужно сохранить открытую в опере страницу в формате html с картинками.  Желательно без посылки хоткея и в идеале без открытия диалога сохранения.
    Возможно ли такое сделать?

    Всего записей: 863 | Зарегистр. 18-12-2004 | Отправлено: 20:39 29-04-2009 | Исправлено: NORIO, 22:53 29-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Народ, помните мои мучения прогресс баром? (нужно было запихнуть картинки в тело скрипта) Так вот Афтор ответил, пост, только вот данный им пример так и не запахал (полоски прогрессбара не напяливают картинки, а всё также красно-зелёные). Проверьте ктонибудь у себя, а то вдруг это только у меня не работает, чтоб лишний раз не тревожить. Заранее спасибо.

    Всего записей: 1562 | Зарегистр. 01-05-2006 | Отправлено: 22:15 29-04-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ynbIpb 22:15 29-04-2009
    Цитата:
    данный им пример так и не запахал

    И не должен, там при копировании примера длинные строчки обрубаются, проверка синтаксиса валит скрипт. Нужно либо попросить ProgAndy выложить скрипт в архиве, или самому корректировать (склеивать) строчки

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 00:24 30-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ну это уж я сообразил (не первый день с автоитом ). подкоректировал строки. скрипт у меня запускается. только прогресс бар без натянутой картинки. Я даже сам генерировал бинарный текст этим скриптом:


    Код:
    $VarName = StringStripWS(InputBox("MemoryDllGen", "Select a name of variable:", "DllBinary"), 3)
    If $VarName = "" Then Exit
     
    $DllName = FileOpenDialog("Open dll file", @ScriptDir, "All files (*.*)")
    If $DllName = "" Then Exit
     
    $Handle = FileOpen($DllName, 16)
    $DllBinary = FileRead($Handle)
    FileClose($Handle)
     
    $LineLen = 2050
    $DllString = String($DllBinary)
     
    $Script = "Dim $" & $VarName & " = '" & StringLeft($DllString, $LineLen) & "'" & @CRLF
    $DllString = StringTrimLeft($DllString, $LineLen)
     
    While StringLen($DllString) > $LineLen
        $Script
    &= "    $" & $VarName & " &= '" & StringLeft($DllString, $LineLen) & "'" & @CRLF
        $DllString = StringTrimLeft($DllString, $LineLen)
    WEnd
     
    If
    StringLen($DllString) <> 0 Then $Script &= "    $" & $VarName & " &= '" & $DllString & "'" & @CRLF
    ClipPut($Script)
     
    MsgBox(64, 'MemoryDll Generator', 'The result is in the clipboard, you can paste it to your script.')
    Exit


     
    example_progandy.rar
     
    ----------------
    vicbox777, Спасибо что проверил, запостил в теме афтора с прозьбой выложить его пример в архиве.
    --------
    Проблема найдена. УДФ, которая была у меня немного старее чем его последняя. и различия в них как раз в функции _ProgressSetHBitmaps

    Всего записей: 1562 | Зарегистр. 01-05-2006 | Отправлено: 17:59 30-04-2009 | Исправлено: ynbIpb, 18:15 01-05-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb 21:15 29-04-2009
    Цитата:
    Проверьте ктонибудь у себя, а то вдруг это только у меня не работает

    У меня тоже отображается как красно-зеленое.

    Всего записей: 162 | Зарегистр. 17-06-2008 | Отправлено: 13:08 01-05-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто может, разъясните, имеется:
    Код:
    #include "MD5.au3"
    $primer="Secret"
    Как:
    1. Перевести $primer в — 16-байтовый MD5-хеш, приведенный в 32 байтовую Hex-строку в нижнем регистре. Фактически строковое представление дайджеста MD5.
    2.Перевести $primer в — 16-байтовый MD5-хеш.
    Если сделать: _MD5($primer), то результатом будет что? 1. или 2.?
     
    Добавлено:
    Результатом _MD5($primer) будет-16-байтовый MD5-хеш $primer.(Это понял, но с пунктом 1. неясно.)

    Всего записей: 162 | Зарегистр. 17-06-2008 | Отправлено: 23:12 01-05-2009 | Исправлено: vicbox777, 13:04 02-05-2009
    Hackproof



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как можно для конкретного скрипта установить свой курсор? Файл .cur лежит в папке со скриптом. Вариант с ручной установкой курсора в схему и использованием GUISetCursor не очень удобен...
     
    И еще забавная проблема, уже решена, но непонятны причины, может кто объяснит:
    Есть два компа - один на работе, другой дома. Винда одинаковая и там и здесь, ставилась с одного диска. Одна и та же версия AutoIt, один и тот же скрипт, создающий на своей форме кнопки по нажатию мыши. При создании кнопки выдается окно с настройками для этой кнопки.  
    Да - окно пропадает, кнопка остается.  
    Нет - окно пропадает, кнопка тоже.  
    Так вот - на работе всё в норме, но дома после первой же отмены или согласия новые кнопки не появляются, окно с настройками вылезает. Вылечилось через GuiSwitch($MainForm), но на работе всё и без этого в порядке. Почему так может быть?

    Всего записей: 106 | Зарегистр. 24-05-2008 | Отправлено: 14:17 02-05-2009 | Исправлено: Hackproof, 18:59 02-05-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vicbox777 23:12 01-05-2009
    Цитата:
     Перевести $primer в — 16-байтовый MD5-хеш, приведенный в 32 байтовую Hex-строку в нижнем регистре.

    StringLower(_MD5($primer))?
     
    Hackproof 14:17 02-05-2009
    Цитата:
    Как можно для конкретного скрипта установить свой курсор?

    Примерно так:
     

    Код:
    #include <GUIConstants.au3>
    #include <Constants.au3>
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>
    ;
     
    $hGUI = GUICreate("Set Cursor Test GUI", 300, 200)
    GUISetState()
     
    $hCursor = _WinAPI_LoadImage(0, @WindowsDir & "\Cursors\3dgarro.cur", $IMAGE_CURSOR, 0, 0, BitOR($LR_LOADFROMFILE, $LR_DEFAULTSIZE))
     
    GUIRegisterMsg($WM_MOUSEMOVE, "WM_SETCURSOR")
    GUIRegisterMsg($WM_SETCURSOR, "WM_SETCURSOR")
     
    While GUIGetMsg() <> $GUI_EVENT_CLOSE
    WEnd
     
    Func
    WM_SETCURSOR($hWnd, $iMsg, $iwParam, $ilParam)
        _WinAPI_SetCursor($hCursor)
    EndFunc

     

    Цитата:
    Почему так может быть?

    Потому что элементы создаются в том GUI, который в текущий момент активный, GUISwitch это и делает.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 21:19 02-05-2009
    Hackproof



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

    Всего записей: 106 | Зарегистр. 24-05-2008 | Отправлено: 21:49 02-05-2009 | Исправлено: Hackproof, 21:54 02-05-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Hackproof 21:49 02-05-2009
    Цитата:
    почему на рабочем компе без GuiSwitch всё было в порядке

    Трудно сказать не имея скрипта.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 22:04 02-05-2009
    asdf8

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

    Всего записей: 92 | Зарегистр. 06-05-2007 | Отправлено: 11:30 03-05-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    asdf8 11:30 03-05-2009
    Цитата:
     запретить включение скринсейвера во время работы скрипта?


    Код:
    #include <WinAPI.au3>
     
    Global Const $SPI_SETSCREENSAVEACTIVE = 17
    Global Const $SPIF_UPDATEINIFILE = 0x1
     
    ;Отключение заставки
    _WinAPI_SystemParametersInfo($SPI_SETSCREENSAVEACTIVE, 0, 0, $SPIF_UPDATEINIFILE)
     
    ;Тут выполнение скрипта
     
    ;Включение заставки

    _WinAPI_SystemParametersInfo($SPI_SETSCREENSAVEACTIVE, 1, 0, $SPIF_UPDATEINIFILE)


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

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

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

    Всего записей: 92 | Зарегистр. 06-05-2007 | Отправлено: 13:52 03-05-2009
    SmallGoD



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


    ----------
    Dr.House: "Мне плевать откуда идея, главное чтобы была разумная и кое-кого унизила."

    Всего записей: 256 | Зарегистр. 19-01-2008 | Отправлено: 13:45 04-05-2009 | Исправлено: SmallGoD, 13:56 04-05-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SmallGoD 13:45 04-05-2009
    Цитата:
    Проблема возникает если обновлять содержимое полей с UpDown'ами

    Что значит обновлять?

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 14:18 04-05-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