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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

gyra

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

 
Описание:

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

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Версии для устаревших Windows
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 7932 | Зарегистр. 18-02-2006 | Отправлено: 10:49 23-01-2020 | Исправлено: Egor2020, 14:02 22-03-2021
    Rootkit1987

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Artem_Butenko
    Включить батник в тело скрипта на этапе компиляции с последующим его извлечением и выполнением? Так что ли?

    Всего записей: 98 | Зарегистр. 24-06-2013 | Отправлено: 22:22 02-09-2020
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что-то не соображу, как задать дефолтную иконку скомпилированному в exe скрипту при компиляции через ПКМ ? Через сам компилятор можно задать иконку, а как быть с ПКМ ? Вроде, когда занимался скриптами AutoIT ещё под XP, дефолтная иконка (которую можно изменить) впихивалась по умолчанию, а сейчас в свежих версиях AutoIT такого не происходит.
     
    p.s. Где найти декомпилятор скриптов ? В шапке, вмрнструментах ссылка сдохла.

    Всего записей: 2098 | Зарегистр. 19-09-2011 | Отправлено: 20:30 03-09-2020 | Исправлено: Baltazar500, 20:31 03-09-2020
    opk44

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

    Цитата:
    p.s. Где найти декомпилятор скриптов ? В шапке, вмрнструментах ссылка сдохла.

    По официальной версии, декомпиляция штатно поддерживалась до версии 3.2.5.1 включительно (~2007 г.), начиная с версии 3.2.6.0 - не предусмотрено.  
    С неофициальной версией можно ознакомиться, например, здесь (http://forum.oszone.net/thread-201900.html).

    Всего записей: 173 | Зарегистр. 16-01-2020 | Отправлено: 23:19 03-09-2020
    iglezz

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

    Цитата:
    Что-то не соображу, как задать дефолтную иконку скомпилированному в exe скрипту при компиляции через ПКМ ? Через сам компилятор можно задать иконку, а как быть с ПКМ ?  

    способ 1. добавить в начало скрипта
    Код:
    #pragma compile(Out, myProg.exe)
    #pragma compile(Icon, C:\path\to\Icon.ico)

    способ 2. переассоциировать Aut2exe.exe (Aut2exe_x64.exe) на свой скрипт, который передаст компилятору все нужные параметры (Подробнее...)
    Для задания иконки обязательно требуется задать имя выходного файла, поэтому не получится в стандартной ассоциации просто дописать /icon "x:\path\to\icon.ico".
     
    Добавлено:
    Artem_Butenko

    Цитата:
    2. Не понял.  

    Тут стоит подробнее что непонятно и что хочется сделать, т.к. смысл "указывать принадлежность кнопки к конкретному GUICtrlCreateGroup" совершенно непонятен.
     
    Что касается переписывания батника в au3, то, видимо, желающих тратить своё время на бесполезную с виду деятельность тут желающих (пока) нет. Помочь по отдельным вопросам - другое дело.
     
    PS
    Обновил в шапке ссылки на известные мне декомпиляторы. Exe2Aut рабочий, а myAutToExe либо не дружит с последней версией 3.3.14.5, либо я пока не понял как он работает.

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 16:47 04-09-2020 | Исправлено: iglezz, 17:22 04-09-2020
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    opk44,
    Цитата:
    По официальной версии, декомпиляция штатно поддерживалась до версии 3.2.5.1 включительно (~2007 г.), начиная с версии 3.2.6.0 - не предусмотрено.  
    С неофициальной версией можно ознакомиться, например, здесь (http://forum.oszone.net/thread-201900.html).
    спасибо. Мне декомпиляция нужна больше для разбора своего, чем чужого Хм, там в комментариях пишут
    Цитата:
    Декомпилировать можно любой скомпилированный файл AutoIt, включая версии после того, как официально эта возможность была убрана (3.2.6.0+). Только программа называется иначе.
    надо посмотреть ...
    iglezz, спасибо, судя по всему, достаточно строки
    Цитата:
    #pragma compile(Icon, C:\path\to\Icon.ico)
    первая, если верить мануалу отвечает за конечное имя exe-ка.
    Цитата:
    Обновил в шапке ссылки на известные мне декомпиляторы. Exe2Aut рабочий, а myAutToExe либо не дружит с последней версией 3.3.14.5, либо я пока не понял как он работает.
    А с 3.3.14.2 (у меня юзается) ? Хотя если руки дойдут, сам проверю.
     
    P.S. Пара вопросов. Разбирая содержимое приснопамятного авторизатора для радмина (исходник в открытом виде лежит в соотвествующей ветке) по поводу if'ов в autoit возникла пара вопросов. Что значит "<>" в if autoit ? Получается, endif'ы не обязательны в autoit-коде (всё вполне успешно работает и без них) ? После баша это несколько рвёт шаблон )))

    Всего записей: 2098 | Зарегистр. 19-09-2011 | Отправлено: 03:14 07-09-2020 | Исправлено: Baltazar500, 03:17 07-09-2020
    opk44

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    Цитата:
    P.S. Пара вопросов...
    Насколько можно судить, все дистрибутивы AutoIt снабжены справочным Help-файлом "AutoIt.chm". Заглянув в него, можно узнать много интересного. Например,  
    1. "<>" Comparison operator. Tests if two values are not equal. (Оператор сравнения "не равно").
    2. Существует 2 формы  
    "If...Then" и "If...ElseIf...Else...EndIf". Про первую сказано следующее
    Цитата:
    This version of the If statement is used to execute a single statement without the overhead of an EndIf.
    . Но не будет ошибкой и использование полной формы "If...Then...EndIf".

    Всего записей: 173 | Зарегистр. 16-01-2020 | Отправлено: 04:58 07-09-2020
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    opk44,
    Цитата:
    Насколько можно судить, все дистрибутивы AutoIt снабжены справочным Help-файлом "AutoIt.chm". Заглянув в него, можно узнать много интересного.
    Я про AutoIT вспоминаю раз в пару лет и всё приходится переосмыслять и заново изучать. Как следствие - "зашиваюсь" и забываю про справку. Хотя мимоходом в сети глядел информацию по if в autoit, но конкретно указанные вами строки проглядел.
    Цитата:
    1. "<>" Comparison operator. Tests if two values are not equal. (Оператор сравнения "не равно").  
     2. Существует 2 формы  
     "If...Then" и "If...ElseIf...Else...EndIf". Про первую сказано следующее
     

    Цитата:
    This version of the If statement is used to execute a single statement without the overhead of an EndIf.

    . Но не будет ошибкой и использование полной формы "If...Then...EndIf".
    Понятно, спасибо
     
    p.s. Глянул Exe2Aut - он спокойно декомпилировал бинарь сборки 3.3.14.2 до исходника. Разве что объявления констант, как в оригинале не было. А так да, код был выужен Всё прошло тихо и мирно. Скормив же бинарь винегрету (там такой ворох тулз в комплекте, что ппц) myAutToExe, та обплевалась ошибками и ворнингами и разве что систему в BSOD не уронила пытаясь разобрать бинарь (не разобрала в итоге)

    Всего записей: 2098 | Зарегистр. 19-09-2011 | Отправлено: 00:53 08-09-2020 | Исправлено: Baltazar500, 08:43 08-09-2020
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Каждый раз у exe-ка, сгенерированного из одного и того же кода разный md5. Там в хэш/сольпри компиляции дата добавляется или ещё чего ?

    Всего записей: 2098 | Зарегистр. 19-09-2011 | Отправлено: 05:38 09-09-2020
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    Если скачать русскую справку и один из способов прыжка в справку (зависит от IDE), коих я сделал несколько вариантов, то просто выделяешь в коде текст "<>", жмёшь горячую клавишу прыжка в справку, оказываешься на странице описания операторов, читаешь поведение.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 11:03 16-09-2020
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Прошу помощи, нужно отследить запуск программы в день, то есть программа запускается с автозагрузкой, проверяет текущую дату, если в эту дату программа уже запускалась (отслеживание созданием txt или ini файла тоже с датой  последнего запуска), то просто выход, если же программа запускается первый раз (текущая дата и сохраненная не совпадают), то программа выполняет действия, в конце действий файл с датой переименовывается в текущую дату, выход. Если программа будет запущена сегодня еще раз, то сравнить текущую дату и дату файла и выйдет.

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 12:45 20-09-2020
    ynbIpb



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

    Код:
    $sLastDate_ini = @ScriptDir & "\lastdate.ini" ; путь к ini файлу
    If Not FileExists ($sLastDate_ini) Then ; если ini файл не существует
        $hLastDate_ini = FileOpen ($sLastDate_ini, 2) ; открываем файл для записи
        FileWrite ($hLastDate_ini, "[general]"&@CRLF&"lastday=")
        FileClose ($hLastDate_ini)
    EndIf
    $sLastDay =  IniRead ($sLastDate_ini, "general", "lastday", ""); читаем последнюю дату запуска
    If $sLastDay = @MDAY Then ; если текущий день равен последнему
        MsgBox (0, "", "Нельзя запускать!")
        Exit
    EndIf
    MsgBox (0, "", "Работать можно!")
    IniWrite ($sLastDate_ini, "general", "lastday", @MDAY) ; записываем текущий день.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 16:35 20-09-2020
    BOBAT



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb
    Спасибо, добавил в свой скрипт запуска, с сегодняшней датой работает правильно, завтра проверю как будет, думаю все отлично сработает. Еще раз спасибо!

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 18:24 20-09-2020
    BOBAT



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

    Всего записей: 1511 | Зарегистр. 07-08-2005 | Отправлено: 05:12 21-09-2020
    ndch

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Посоветуйте как сделать умнее чем через поллинг
     

    Код:
    While WinExists("sample.txt")
    Sleep(100)
    Wend
     

     
    Т.е. исходно есть окно "sample.txt"  
    и к следующим действиям требуется перейти лишь после исчезновения окна "sample.txt"

    Всего записей: 6516 | Зарегистр. 31-08-2008 | Отправлено: 16:47 11-11-2020 | Исправлено: ndch, 16:49 11-11-2020
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ndch
    Справку не читаете штоль?  
    WinWaitClose ( "title" [, "text" [, timeout = 0 ]] )

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 16:52 11-11-2020
    ndch

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fom64
    То что надо. Спасибо. AutoIT пользуюсь редко, потому и не знал что справка на русском - куцая.

    Всего записей: 6516 | Зарегистр. 31-08-2008 | Отправлено: 18:32 11-11-2020
    ndch

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скажите, какую справку читать чтобы понять о:
    1. Том, что Blockinput  функционирует с правами "Администратора"
    2. Том, возможно ли "заблокировать ввод со стороны пользователя" без прав администратора.

    Всего записей: 6516 | Зарегистр. 31-08-2008 | Отправлено: 09:24 12-11-2020 | Исправлено: ndch, 09:39 12-11-2020
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    >Скажите, какую справку читать,чтобы понять о:
    "Примечания
    Таблица ниже показывает поведение функции BlockInput в зависимости от версии Windows; однако, в любом случае, нажатие Ctrl+Alt+Del на любой платформе позволит включить пользовательский ввод (особенность Windows API).
     
    Операционная система Результат работы "BlockInput"
     
    Windows 2000 Пользовательский ввод блокируется, AutoIt по-прежнему может симулировать мышь и ввод с клавиатуры.
     
    Windows XP Пользовательский ввод блокируется, AutoIt по-прежнему может симулировать мышь и ввод с клавиатуры. См. примечания по поводу проблемы с Windows XP SP1.
     
    Windows Vista Пользовательский ввод блокируется, AutoIt по-прежнему может симулировать мышь и ввод с клавиатуры при условии использования #RequireAdmin.
     
     
    Обновление Windows выпущенное в Windows XP SP1 содержало баг, который предотвращал высылку нажатия клавиши Alt (через функцию Send()) при включенном BlockInput(). Баг Windows был исправлен в Windows XP SP2 и последующих.
     
    BlockInput() относится только к пользовательскому вводу. Ввод из функций, таких как Send() или MouseMove() по-прежнему будет работать."

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 09:37 12-11-2020
    ndch

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fom64
    Скажите пожалуйста где эта справка находится.

    Всего записей: 6516 | Зарегистр. 31-08-2008 | Отправлено: 09:39 12-11-2020
    iglezz

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ndch
    В шапке темы - Справки [?]
    А там - Новая справка на русском, зеркало (8 Мб) для v3.3.8.1 от активных пользователей, обсуждается на OSzone  

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 09:52 12-11-2020
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 4)


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru