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

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

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

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

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

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
    HORiSi

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

    Цитата:
    часть, отвечающую за проверяемый урл обновления

    Готовый вариант Yandex Portable + Updater
     
    Попытка полностью отвязаться от необходимости перекомпиляции в случае изменения переменных.
     
    UPD: 20.02.2022 версия 2 BROWSER.au3.
    1. Все важные параметры для BROWSER.EXE теперь в файле BROWSER.iNi (в секции [Envi])
    UPD: 25.02.2022
     
    UPD: 13.03.2022 версия 3 BROWSER.au3 – вычищен и оптимизирован
     
    UPD: 13.03.2022 версия 3 BROWSER.iNi – вычищен и оптимизирован
     
     
     
    2. Если файл BROWSER.iNi не существует, то будет создан в кодировке UTF-8 (по кодировке скрипта)
    3. Качалка (wget.exe) и распаковка (7za.exe) обновления  должны быть в папке Utils. Если ничего не произошло, вероятно Яндекс запаковал новой версией 7za. Скачать 7z2107-extra.7z.
    4. DLTeDiR.txt - список для удаления скриптом лишних папок. Должен лежать в Utils\
    5. DLTeFil.txt - список для удаления скриптом лишних файлов. Должен лежать в Utils\
    6. Если в оригинальном yandex.exe уберут или переименуют папку Browser-bin - сделать тоже с переменной в INI.
     
    P.S. раскрасить скриптом не удалось
    P.S. P.S. по неведомой причине Aut2Exe начал выдавать ошибку открытия Date.au3. Компилировал SciTE – поэтому двойные директивы
    P.S. P.S. P.S. UPD: 04.06.2022 неприятная особенность последних сборок – Яндекс каким-то образом зашил проверку, скачку и установку втихую. Т.е. теперь когда portable обновляется, то через некоторое количество запусков Яндекс.Браузер устанавливает полное приложение. Делает
    ТЕМП(Ы)
    в папке юзера
    где пока смог обнаружить остатки файлов. Уверен что какой-то ключ внутри ключевой dll генерирует запрос и загрузку. Теперь всё это надо вычистить скриптом. Гуру – поможете решить задачу?

    Всего записей: 173 | Зарегистр. 24-05-2006 | Отправлено: 17:53 20-02-2022 | Исправлено: HORiSi, 11:36 04-06-2022
    SharkyEXE

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем здравствуйте
     
    Пожалуйста, помогите
     
    Возможно или нет создать код для обнаружения
     
    Одиночное нажатие клавиши - На клавиатуре нажата кнопка один раз
     
    Двойное нажатие клавиши - На клавиатуре быстро дважды нажата кнопка
     
    Длительное нажатие клавиши - На клавиатуре я нажал и удерживаю кнопку

    Всего записей: 366 | Зарегистр. 25-01-2009 | Отправлено: 10:02 10-07-2022
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SharkyEXE
    Глянь _IsPressed (UDF, Misc.au3) ну и таймер какойнидь к циклу прикрути

    Всего записей: 263 | Зарегистр. 26-11-2010 | Отправлено: 17:28 10-07-2022
    SharkyEXE

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fom64
     
    Здравствуйте
     
    Со стороны все легко и просто, лично я не профессионал, если у Вас есть желание - помогите готовым 100%но рабочим кодом
     
    Получится у Вас  Вам спасибо, если у Вас не получится 100%но рабочего способа - я тем более самостоятельно не осилю
     
    Извините

    Всего записей: 366 | Зарегистр. 25-01-2009 | Отправлено: 18:59 10-07-2022
    Fom64

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

    Цитата:
    лично я не профессионал, если у Вас есть желание - помогите готовым 100%но рабочим кодом

    Дык это тебе сюда

    Всего записей: 263 | Зарегистр. 26-11-2010 | Отправлено: 19:52 10-07-2022
    SharkyEXE

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

    Всего записей: 366 | Зарегистр. 25-01-2009 | Отправлено: 19:56 10-07-2022 | Исправлено: SharkyEXE, 20:10 10-07-2022
    Egor2020

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В 32-битных версиях AutoIt 3.3.8.1 и выше, установленных на 64-битную Windows 10 21H2, не срабатывает вот этот код для отключения перенаправления папки System32 в SysWOW64:

    Код:
    DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
    Run(@SystemDir & "\SnippingTool.exe")

    Перенаправление якобы отключается, но значение макроса @SystemDir по-прежнему остается равным SysWOW64. В 32-битной версии AutoIt 3.2.12.1 на 64-битной Windows 10 21H2 данного бага нет и перенаправление отключается корректно.
    Можно ли как-нибудь исправить данный баг применительно к 32-битным версиям AutoIt 3.3.8.1 и выше на 64-битных версиях Windows? Ибо мне необходимо написать скрипт, который будет работать только на Windows NT 5.x (2000, XP, 2003) и который будет проверять версию файла ядра Windows NT ntoskrnl.exe (в 64-битных версиях Windows данный файл есть в папке System32, но его нет в папке SysWOW64). Чтобы скомпилированный скрипт не смог запуститься на Windows Vista/7/8/8.1/10/11 даже в режимах совместимости с Windows 2000/XP/2003.

    Всего записей: 1726 | Зарегистр. 01-03-2020 | Отправлено: 16:43 22-07-2022 | Исправлено: Egor2020, 16:56 22-07-2022
    Fom64

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

    Цитата:
    ntoskrnl.exe (в 64-битных версиях Windows данный файл есть в папке System32, но его нет в папке SysWOW64

    Тогда зачем тебе @SystemDir, напиши просто путь @path=@WindowsDir & "\System32\ntoskrnl.exe"
    Ну можно поиграться с @OSArch и @OSVersion, но смысл усложнять)

    Всего записей: 263 | Зарегистр. 26-11-2010 | Отправлено: 17:01 22-07-2022 | Исправлено: Fom64, 17:03 22-07-2022
    ynbIpb



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

    Код:
    #include <FileConstants.au3>
    $sNtoskrnl_exe = @SystemDir & "\ntoskrnl.exe" ; переменная для хранения пути к ntoskrnl.exe
    If @OSArch = "X64" Then
        $sNtoskrnl_exe = @WindowsDir & "\System32\ntoskrnl.exe" ; если x64, то путь такой.
    EndIf
    $sNtosVer = FileGetVersion ($sNtoskrnl_exe, $FV_FILEVERSION)
    MsgBox (0, "", "Архитектура: "&@OSArch&@CRLF&"ОС: "&@OSVersion&@CRLF&"Путь: "&$sNtoskrnl_exe&@CRLF&"Версия: "&$sNtosVer)

    Это конечно всё избыточно. Проще по умолчанию @WindowsDir использовать.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 10:07 26-07-2022 | Исправлено: ynbIpb, 16:20 26-07-2022
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток. Подскажите как мне такую конструкцию Подробнее... объединить с такой Подробнее... Нужно чтобы и клики по иконке в трее обрабатывались и чтобы при закрытии процесса скрипт схлопывался. Пока выходит либо первое, либо второе. Скрестить ежа с ужом пока не выходит.

    Всего записей: 2269 | Зарегистр. 19-09-2011 | Отправлено: 15:13 31-08-2022 | Исправлено: Baltazar500, 15:14 31-08-2022
    Andrey_A_A



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

    Код:
    While 1
      Sleep(100)
      If 0=ProcessExists($PID)Then Exit
    WEnd

    Всего записей: 1465 | Зарегистр. 15-08-2011 | Отправлено: 15:40 31-08-2022
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Andrey_A_A, и куда этот код воткнуть ? Если я втыкаю перед выполнением "Example()", то while с if работает, вот только отваливается обработка работы иконки в трее, равно как и сама иконка. Если воткнуть его в конец, то он ясен пень работать не будет (равно как если запихнуть выполнение "Example()" в while перед if). Собственно история всё та же, что и у меня. Работает либо то, либо то.

    Всего записей: 2269 | Зарегистр. 19-09-2011 | Отправлено: 11:11 04-09-2022
    Andrey_A_A



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

    Код:
    #NoTrayIcon
    #include <MsgBoxConstants.au3>
    #include <StringConstants.au3>
    #include <TrayConstants.au3>
     
    Opt('TrayMenuMode',3)
    Opt('TrayOnEventMode',1)
     
    Global $PID=Run(@ComSpec&'/c '&@ScriptDir&'\test.bat','',@SW_HIDE)
     
    Example()
     
    Func Example()
     TrayCreateItem("Exit")
     TrayItemSetOnEvent(-1, "ExitScript")
     TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")
     TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "TrayEvent")
     TraySetState($TRAY_ICONSTATE_SHOW)
     While 1
      Sleep(100)
      If 0=ProcessExists($PID)Then Exit
     WEnd
    EndFunc
     
    Func TrayEvent()
      Switch @TRAY_ID
        Case $TRAY_EVENT_PRIMARYDOWN
          ProcessClose($PID)
        Case $TRAY_EVENT_SECONDARYUP
          ProcessClose($PID)
      EndSwitch
    EndFunc
     
    Func ExitScript()
      Exit
    EndFunc

    Всего записей: 1465 | Зарегистр. 15-08-2011 | Отправлено: 11:45 04-09-2022 | Исправлено: Andrey_A_A, 15:51 09-09-2022
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Andrey_A_A, спасибо, работает. Правда с небольшой поправкой '/c' на ' /c ' (это на случай, если кто решит использовать данный код в дальнейшем)
     
    p.s. А $PID в Global - переменную обязательно было загонять ? Или просто по привычке ?)))

    Всего записей: 2269 | Зарегистр. 19-09-2011 | Отправлено: 15:24 09-09-2022
    Andrey_A_A



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

    Цитата:
    с небольшой поправкой

    Я поправил код

    Цитата:
    переменную обязательно было загонять

    Это не привычка - это правило, у меня, к примеру, скрипт TCIMG.au3 состоит из 20 файлов, 4000 функций, 70.000 строк - и без точного разграничения переменных на глобальные и локальные будет барак. Если переменная где-то объявлена и данные используются в других функциях - это глобальная переменная, если только внутри функции, то локальная. В данном примере это неважно, но лучше точное разграничение переменных...

    Всего записей: 1465 | Зарегистр. 15-08-2011 | Отправлено: 16:07 09-09-2022 | Исправлено: Andrey_A_A, 16:09 09-09-2022
    Egor2020

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    На Windows XP (как SP2, так и SP3) утилита Au3Info.exe из состава недавно вышедшей версии AutoIt 3.3.16.1 вылетает с этой ошибкой при попытке выбрать любое окно или элемент интерфейса:

    В утилите Au3Info.exe из состава предыдущей версии AutoIt 3.3.16.0 подобного вылета под Windows XP нет.

    Всего записей: 1726 | Зарегистр. 01-03-2020 | Отправлено: 11:07 18-10-2022 | Исправлено: Egor2020, 11:10 18-10-2022
    AZJIO



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

    Цитата:
    Отдельное спасибо @AZJIO за идею и ряд настроек, взятых из программы RegExp
    Это неправильно. Если ты используешь мою программу добавив в неё иконки и несколько не важных кнопок, программа не становится твоей, в которой я не принимал участие. Предыдущая твоя правка моего RegExp почти не имела претензий, кроме того что ты вписал своё имя крупным текстом в диалоге "О программе". Правильнее было бы написать свое авторство только в добавлении модернизаций. Можно было бы составить Readme, в котором дописать модернизации, то есть добавленную стоимость.
    В последнем форке ты просто переписал авторство на себя. Тебе что приятно чувствовать себя крутым программистом выдавая чужой труд за свой. Да ты частично вложился, не знаю во что, я исходника не видел ни первого форка, ни второго. В любой моей лицензии я пишу, что программу можно считать своей если в неё вложено более 50% работы от автора, это не значит добавить иконок и несколько кнопок, нет, это значит вложить значимый функционал, перейти на второй уровень, переписать движок библиотеки, переписать движок подсветки. У меня в коде когда я использую чужую функцию и то я пишу авторство, и ссылку где взято, то есть не присваиваю авторство, дабы никто не подумал, что я такой умный, что всё написал сам. На первый форк я смотрел сквозь глаза, пусть человек развивается, я сам любил что-то подстраивать под себя и переделывать. У меня уже были мысли, а завтра чел с твоего форума придёт и скажет мне, что не ты мою прогу используешь, а я твою. Ты вводишь всех в заблуждение. И это при том что ты заходишь на форум и мне даже порой лень объяснять элементарные вещи, когда ты задаешь вопросы. Как любознательному человеку я отношусь к тебе с уважением, имеешь свой сайт, крутая сборка AkelPad, но насчёт RegExp сделай правильно, чтобы у людей не было претензий. Я уже кстати повторил свой RegExp на PureBasic и поэтому он работает под Linux, не весь функционал перенесён, но есть новые идеи: выбор шаблонов для кнопки "Copy", можно фактически под любой язык сделать шаблон(ы). Немного изменил формат, так как PureBasic имеет больше способов обработки регвыр. Ком-строка добавлена, чтобы открывать файл для обработки и включать библиотеку под конкретный язык программирования. Флаги уберу в меню, так как они меняют привычное расположение кнопок, занимая при этом много пространства окна.
    Кстати, посмотрел свою лицензию для RegExp и она жёстче чем я обычно использую.

    Цитата:
    Лицензия на исходник
    Разрешается модернизировать исходник только для собственного пользования.
    Разрешается изучать и использовать части кода.
    Запрещается распространять модернизированную версию.
    Запрещается менять диалог "О программе".

    Простой пример, открыл твою сборку AkelPad и в диалоге "О программе" ты ведь не поменял авторство? Не смотря на то что в сборке наверно несколько тысяч кнопочек, которые ты сам сделал и иконки для них, и скриптов куча.
    Вот тема в пример. Если что там BSD лицензия (и то там переживает за копирайт), есть похожая MIT, это лицензии где можно использовать по своему усмотрению и даже сделать проект коммерческим. Если автор не указал ни одну из известных лицензий то она считается проприетарная и все детали обговариваются с автором либо по указанной лицензии в комплекте.

    Всего записей: 4536 | Зарегистр. 03-05-2006 | Отправлено: 20:33 29-10-2022 | Исправлено: AZJIO, 21:23 29-10-2022
    Andrey_A_A



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO, ты про эту http://tc-image.3dn.ru/forum/5-893-1 тему?
    Я могу удалить её - т.к. твоей программой уже не пользуюсь.
    Когда-то ты на своём сайте отказал в модернизации - я для себя её немного модифицировал, пока не решил полностью написать под себя с нуля, т.к. чужой код для меня потёмки, взяв идею лишь подсветки RichEdit и использую в TCIMG.

    Всего записей: 1465 | Зарегистр. 15-08-2011 | Отправлено: 21:38 29-10-2022 | Исправлено: Andrey_A_A, 21:47 29-10-2022
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Andrey_A_A
    Я по щелчку пальца кого-либо конечно не стану танцевать, и добавлять то что считаю маловажным, а интересные и важные идеи я добавляю. Это не является критерием  к чему либо, критерием вписывать TCIMG в название моей программы. Вот человек просит и я делаю, потому что считаю то что он просит важным.

    Цитата:
    взяв идею лишь подсветки

    Я вижу что функционал отличается только ненужными кнопочками. Можно конечно скрыть код и говорить как ты сам написал, почему же я не вижу твоих самостоятельных сложных проектов? Написать кнопочки, которые будут вставлять текст в "Edit" там много знаний не надо. Если я даже по скрину вижу разметку в результатах, всё тот же мой функционал, все окна на тех же местах и теми же текстами названы. Ты всех дураками считаешь?
    Эта прога как и многие другие я горжусь, что написал, и я не хотел бы чтобы кто-то используя чужой труд продвигал свой сайт и свою программу TCIMG.
    Выкладывать мои проги у себя на сайте можешь.

    Всего записей: 4536 | Зарегистр. 03-05-2006 | Отправлено: 22:05 29-10-2022 | Исправлено: AZJIO, 22:22 29-10-2022
    Andrey_A_A



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

    Цитата:
    Это не является критерием  к чему либо, критерием вписывать TCIMG в название моей программы

    AZJIO, TCIMG REGEX - не твоя программа! Это мой личный код!
    В моём коде более 100 разных фишек/функций начиная от структуры шаблонов, где у тебя совершенно неудобно сделано, ограничено и элемент создан на основе ListBox, у меня же без ограничений, удобно, комфортно и на основе ListView (как говорится 2 большие разницы) ... и мн.др., хочешь верь или не верь, я не опирался на твой код в написании окна, в перемещении элементов окна, даже не брал функции - я просто имел перед собой визуальный ряд, а функционал вложил свой, подсмотрев подсветку RichEdit (да это была и не новость..)
    Далее не буду продолжать - это тоже самое как спорить о 2-х текстовых редакторах - один похож на другой, но если присмотреться - разница есть! Кому надо сравнит и оценит!
    Даже на скринах всё видно
    Да и из описания очевидно, что твоя прога и трети не делает того, что делает мой код.
    ----
    Что касается модифицированных версий твоей программы (последняя 29.07.2018 [2.8]) - извиняюсь, что вставил свои данные. Все модифицированные версии удалены. Тема на моём сайте удалена. В сборках постараюсь в ближайшее время поудалять...

    Всего записей: 1465 | Зарегистр. 15-08-2011 | Отправлено: 22:33 29-10-2022 | Исправлено: Andrey_A_A, 00:57 30-10-2022
    Открыть новую тему     Написать ответ в эту тему

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

    Компьютерный форум 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