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

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

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

    Цитата:
    [/q]
    Цитата:
    С точки зрения скорости как лучше будет - формируемые строки сразу писать в конец html (FileWrite или FileWriteLine), или добавлять их в конец массива (_ArrayAdd), а затем этот массив разом писать в файл (_FileWriteFromArray)?
    [q]С точки зрения скорости как лучше будет - формируемые строки сразу писать в конец html (FileWrite или FileWriteLine), или добавлять их в конец массива (_ArrayAdd), а затем этот массив разом писать в файл (_FileWriteFromArray)?

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

    Всего записей: 1 | Зарегистр. 04-01-2008 | Отправлено: 23:23 04-01-2008
    Maza Faka



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

    Цитата:
    - меньше обращений к носителю (немного критично для флэшки, к примеру)

    Если предварительно открыть файл функцией FileOpen(), то не критично.
    Цитата:
    If a filename is given rather than a file handle, the file will be opened and closed during the function call. For parsing large text files this will be much slower than using filehandles.

     

    Цитата:
    меньше шансов возможной фрагментации файла

    Ну это вряд ли
     

    Цитата:
    и вообще, логичнее выглядит

    Ага, но вот попробуй поработать с файлом в котором свыше 100.000 строк при помощи массивов.

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:46 05-01-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Библиотека автоматизации для браузера Opera!
     
    24 (планируется ещё больше) полезных функции для решения задач связанных с браузером Opera.
     
    Примечание: Библиотека тестировалась под Opera начиная с версии 8.54 и до версии 9.5.
     
    [Страница закачки], [Зеркало]

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 09:23 05-01-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Kauffman
    По поводу редактора, вот ещё неплохой редактор на AutoIt - AutoIt Editor, использует Scintila, и даже чем то напоминает SciTE

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:37 06-01-2008
    zero1632

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LEX , а если в качестве параметра используется такая комбинация
     
    $file_FR_path=(@WorkingDir & "\F8.0\fineocr.exe " & $file & " /send clipboard")
    Run ($file_FR_path)
     
    не получается - если a имени файла в $file есть пробел, запускается два раза, а в кавычки или апострофы поставить не могу.  
     
    Добавлено:
    пардон разобрался.
     
    $file_FR_path=(@WorkingDir & "\F8.0\fineocr.exe " & '"' & $file & '"' & " /send clipboard")

    Всего записей: 16 | Зарегистр. 17-11-2007 | Отправлено: 23:48 07-01-2008
    gregaz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите,пожалуйста  
    Как получить в окне GUI TreeView  комьютера ?
    Через функции AutoIt -процесс очень длительный
    Наверняка просто решается средствами Windows ,но как ?

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 06:11 08-01-2008
    ViSiToR



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

    Цитата:
    Как получить в окне GUI TreeView  комьютера ?

    Дерево папок?
     

    Цитата:
    Через функции AutoIt -процесс очень длительный

    Если вместе с подкаталогами, то да, это сложновато... хотя я это как то уже делал (пункты гинерируются “на лету”)...
     

    Цитата:
    Наверняка просто решается средствами Windows

    Для каких целей? FileSelectFolder()?

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 06:43 08-01-2008
    gregaz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Хотелось бы внутри окна GUI ,созданного средствами AutoIt ,наряду с другими элементами получить  и элемент TreeView с папками и файлами компьютера ,а не в отдельном окне,как в FileSelectFolder()

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 06:57 08-01-2008
    Maza Faka



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

    Цитата:
    элемент TreeView с папками и файлами компьютера

    Вот тебе пример с форума на офф. сайте:

    Код:
    #include <GUIConstants.au3>
    #include <File.au3>
     
    Opt("GUIOnEventMode", 1)
     
    $Gui = GUICreate("TreeView", 400, 400)
    $treeview = GUICtrlCreateTreeView(20, 20, 200, 200, -1, $WS_EX_CLIENTEDGE)
    Root($treeview)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
    GUISetState(@SW_SHOW)
     
    While 1
        Sleep(500)
    WEnd
     
    Func
    TellMe()
        MsgBox(0,'', GUICtrlRead(@GUI_CtrlId, 1))
    EndFunc
     
    Func
    Root($tvcID)
        Dim $DGD = DriveGetDrive("ALL")
        For $i = 1 To $DGD[0]
            GUICtrlCreateTreeViewItem("(" & $DGD[$i] & ")", $tvcID)
            GUICtrlSetState(-1, $GUI_FOCUS)
            GUICtrlSetOnEvent(-1, "TellMe")
            GUICtrlSetImage(-1, "shell32.dll", FindIcon($DGD[$i]), 2)
            GUICtrlSetImage(-1, "shell32.dll", FindIcon($DGD[$i]), 4)
            If $DGD[$i] = @HomeDrive Then
                $FL2A = _FileListToArray($DGD[$i], "*", 2)
                For $j = 1 To $FL2A[0]
                    GUICtrlCreateTreeViewItem($FL2A[$j], GUICtrlRead($tvcID))
                    GUICtrlSetImage(-1, "shell32.dll", -5, 2)
                    GUICtrlSetImage(-1, "shell32.dll", -4, 4)
                    GUICtrlSetOnEvent(-1, "TellMe")
                Next
            EndIf
        Next
    EndFunc
     
    Func
    FindIcon($dI)
        Local $DGT = DriveGetType($dI)
        Switch $DGT
            Case "Removable"
                If $dI = "a:" Or $dI = "b:" Then
                    Return
    -7
                Else
                    Return
    -8
                EndIf
            Case
    "Fixed"
                Return -9
            Case "Network"
                If DriveMapGet($dI) <> "" Then
                    Return
    -10
                Else
                    Return
    -11
                EndIf
            Case
    "CDROM"
                Return -12
            Case "RAMDisk"
                Return -13
            Case "Unknown"
                Return -54
        EndSwitch
    EndFunc
     
    Func
    _close()
        Exit
    EndFunc

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:35 11-01-2008
    Kauffman

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    SciTe не нравится из-за оформления (классич. Win 9x), хочу чё-нить красивое и мощное!
    И профессиональное (AutoIt Editor не доделан).

    Всего записей: 33 | Зарегистр. 02-10-2007 | Отправлено: 10:40 11-01-2008
    gregaz



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

    Цитата:
    Вот тебе пример с форума на офф. сайте:

    Maza Faka,спасибо
    Я примерно так и пробовал,но попытка углубиться в подпапки (цикл в цикле)
    сильно затягивает процесс на десятки секунд (если еще файлы находить и иконки расставлять,то...).
    Я надеялся,что есть возможность  средствами Windows ( ведь Windows выполняет это моментально).
     
     
     

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 11:54 11-01-2008 | Исправлено: gregaz, 12:09 11-01-2008
    Maza Faka



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

    Цитата:
    Я надеялся,что есть возможность  средствами API

    Возможно.

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:03 11-01-2008
    gregaz



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

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 12:12 11-01-2008
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gregaz
    Ммм... честно говоря незнаю, надо искать такую API функцию (если она существует), попробуй поискать здесь

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:38 11-01-2008
    serffil

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет и с прошедшими праздниками
    Может кто подскажет что
    Как копировать и перемещать файлы с правами администратора, а то в Виндоус ВИста
    с ее излишней безопасностью при перемещении файла необходимо подтверждение этого действия
    Спасибо за  помощь

    Всего записей: 3 | Зарегистр. 27-11-2007 | Отправлено: 18:09 11-01-2008
    ViSiToR



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

    Цитата:
    Хотелось бы внутри окна GUI ,созданного средствами AutoIt ,наряду с другими элементами получить  и элемент TreeView с папками и файлами компьютера

     
    Вот архив, в нём все нужные инклюды, плюс примеры применения. Одна проблема, автор этого творения так и не смог решить проблему получения массива всех выбранных папок/файлов (используя чекбоксы), я уверен что это можно решить, но у меня нет времени с этим разбираться - я немного подправил оригинал, там кроме прочего было несколько проблем совместимости с AutoIt 3.2.8.1, под v3.2.10.0 не проверял, но полагаю что работать корректно не будет.
     
    Возможно это слишком громоздко для твоих нужд, но при желании можно выдернуть то что нужно .
     
    Kauffman

    Цитата:
    SciTe не нравится из-за оформления (классич. Win 9x), хочу чё-нить красивое и мощное

    А что там оформлять, там несколько кнопочек (которыми я лично почти не пользуюсь, только меню или клавиши), имхо, мощнее для AutoIt (и наверное для многих других языков) просто не существует!
     
    serffil

    Цитата:
    Как копировать и перемещать файлы с правами администратора

    Можно попробовать поставить в начале скрипта #RequireAdmin - будет требовать админских прав.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 23:10 11-01-2008
    SykaPadla

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, ХЕЛП плз.
     
    Помогите разобраться с отправкой писем с помощью АИ.
     
    Задача: отправить письмо все равно через какой smtp на указанный адрес  
    (если вдруг кто-то занимается, то интересует отправка через ОСМП - объединенная система приема платежей. у них в программе это реализовано).
     
    Пример из хелпа:
     
    #include <INet.au3>
     
    $Response = _INetSmtpMail ("smtp.mail.ru", "lt", "xxx@mail.ru", "xxx@mail.ru", "otchet", "kuha teksta")
    $err = @error
    If $Response = 1 Then
        MsgBox(0, "Success!", "Mail sent")
    Else
        MsgBox(0, "Error!", "Mail failed with error code " & $err)
    EndIf
     
    Выдает окно "Mail sent", но ничего не приходит.
    ххх@mail.ru - существующий ящик (письмо сам себе)
    Скорей всего нужна авторизация на SMTP сервер.
     
    Вопрос 2:  
    #include <INet.au3>
    _INetSmtpMail ( $s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress [,$s_Subject [,$as_Body [,$s_helo, [,$s_first [,$s_trace]]]]])
     
    Что такое  
    $s_helo - логин на smtp server?
    $s_first - ???
    $s_trace - трассировка отправки письма. как ее посмотреть?

    Всего записей: 1 | Зарегистр. 11-01-2008 | Отправлено: 00:08 12-01-2008 | Исправлено: SykaPadla, 00:15 12-01-2008
    gregaz



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

    Цитата:
    Цитата:Хотелось бы внутри окна GUI ,созданного средствами AutoIt ,наряду с другими элементами получить  и элемент TreeView с папками и файлами компьютера  

     ViSiToR  

    Цитата:
     
    Вот архив, в нём все нужные инклюды, плюс примеры применения. Одна проблема, автор этого творения так и не смог решить проблему получения массива всех выбранных папок/файлов

     
    ViSiToR,спасибо , там есть интересные фрагменты.Попробую разобраться
    Хотя задавая вопрос о TreeView файлов компа ,я не предполагал,что это так сложно
    Возможно овчинка выделки и не стоит
    Во всяком случае всем спасибо
     
    Сейчас подправил под v3.2.10.0 ,даже запустилась и достаточно быстро  за 2сек построила TreeView.но все подпапки с русскими именами записала в виде АБРАКАДАБРЫ  и не раскрыла , а так вроде сработала правда застревает где-то при клике ,но это надо дальше смотреть

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 18:50 12-01-2008 | Исправлено: gregaz, 19:10 12-01-2008
    Sergey_AV



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

    Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 13:55 14-01-2008
    U235

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, пожалуйста, потестировать, если имеется сканер, и найти возможную ошибку в скрипте AutoIt3:
    Скрипт автосканирования через WIA интерфейс: hxxp://www.alexrey036.narod.ru/autoscan_v2/autoscan_v2.html
    Проблема такая:
    На моем компьютере все работает как надо, с просмотром каждого отсканированного изображения. У другого человека, как он сообщил, не работает просмотр (сканирование идет), видимо глюк как-то связан с  функцией View.  
    Команда "Пуск/Выполнить: rundll32.exe shimgvw.dll,ImageView_Fullscreen C:\какой-нибудь_файл.tif"  у него выполняется  корректно (Win XP rus SP2 в обоих случаях.).  
    Не пойму, в чем может быть причина?
     
    Проблема кажется решена: дело было в путях к папке: rundll32... требует полный путь к файлу.

    Всего записей: 884 | Зарегистр. 14-12-2005 | Отправлено: 15:38 15-01-2008 | Исправлено: U235, 18:29 15-01-2008
       

    Страницы: 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.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru