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

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

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

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

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

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
    AkulaBig

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

    Цитата:
    С плагом вроде и пример на AutoIt идёт.

    Кстати неработающий. Ну и мне пример подключения библиотеки нужен.

    Цитата:
    Показалось, что финт с запуском скрипта AutoIt из скрипта VBScript работал немного шустрее.

    Я-бы вообще конечно на vbs перешел. Но там нельзя запустить не зареганную библиотеку. Так что либо ps1, либо что-то из внешнего. Но скорость конечно отвратительная.

    Цитата:
    А что не так с TCMediaInfo?

    А он тут не причем. Если-бы меня только MediaInfo интересовал, я-бы CLI-версию использовал с vbs. Просто MediaInfo наиболее документирован. Мне именно интересно само подключение библиотеки. А цель сделать что-то поинтересней TCMediaInfo. Чтобы можно было и из bass данные брать. Да много еще полезных библиотек. Хотелось-бы также и управлять выводом, чтобы отслеживать пустое-непустое значение. И при этом не лезть в SDK wdx-плагинов.
    Может это и не получится, особенно из-за скорости, но хочется попробовать.

    Цитата:
    В скрипте используйте переменную $filename

    Дак не работает это в вызове библиотеки.
    $Open_Result=DllCall($DLL, "int", "MediaInfo_Open", "ptr", $Handle[0], "wstr", $filename) так-же пишет в колонке No data from script.

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 07:37 29-10-2024 | Исправлено: AkulaBig, 09:45 29-10-2024
    Skif_off

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

    Цитата:
    Кстати неработающий.

    Был вроде рабочий, глянул - там не работать по идее и нечему. С путём в options.ini точно всё нормально?
     
    Вспомнил, что с плагином была какая-то проблема с массивом, начал искать и нашёл пример с MediaInfo, забавное совпадение. Насчёт BASS - пройдитесь поиском по русскому форуму AutoIt или оффоруму, точно помню, что была соответствующая UDF (если не найдёте, поищу у себя, должна где-то лежать, хотел простенький аудиоплеер набросать).

    Цитата:
    Может это и не получится, особенно из-за скорости, но хочется попробовать.

    Можно попробовать как TCMediaInfo создавать базу, UDF для работы с SQLite тоже есть.
     
    P.S. winapiexec, если что, вполне такая шустрая.

    Всего записей: 6588 | Зарегистр. 28-01-2008 | Отправлено: 10:12 29-10-2024
    AkulaBig

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Почитал оф форум плагина. Все понятно. Вы тоже хотели так сделать.
     
    Добавлено:

    Цитата:
    Был вроде рабочий, глянул - там не работать по идее и нечему.

    Да там-же апишный скрипт в пример включен, которого нет в папке скриптов. Я разобрался с этим на оф форуме.

    Цитата:
    забавное совпадение

    Ну да. Один в один моя хотелка всего-лишь 7 лет назад.

    Цитата:
    Насчёт BASS - пройдитесь поиском по русскому форуму AutoIt

    Спасибо. Но думаю подключение библиотеки ничем не отличается. Если не работает MediaInfo, значит не будет работать и bass.

    Цитата:
    Можно попробовать как TCMediaInfo создавать базу

    Похоже вообще придется отказаться от идеи. Такая низкая скорость работы навряд-ли кого-то устроит. На Питоне автор плагина обещал хорошую скорость, но тоже самое. И это тестовые плагины. Похоже кроме vbs нет смысла использовать какой-то другой язык. С соответствующими ограничениями vbs.

    Цитата:
     winapiexec

    Имеете ввиду в vbs ее использовать?

    Цитата:
    Можно попробовать как TCMediaInfo создавать базу, UDF для работы с SQLite тоже есть.

    Я боюсь не в этом дело. Лично я базу всегда при очистке ТС удаляю. На скорость это не влияет. Конечно у меня база крошечная. С десяток файлов. Никаких медиа-библиотек я не держу. Но тут на том-же 10-е текстовых файлов разница в скорости на глаз видна.

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 10:23 29-10-2024 | Исправлено: AkulaBig, 11:06 29-10-2024
    Skif_off

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

    Цитата:
    Если не работает MediaInfo, значит не будет работать и bass.

    Может не работать именно в таком виде, а если, например, не декларировать и потом присваивать значение? Типа сразу

    Код:
    Local $aMediaInfo = DllCall($hDLL, 'ptr', 'MediaInfo_New')

    Или вообще отказаться от предварительного объявления. Но на эксперименты чё-т не сильно тянет, прошу прощения...
     
    Возможно, ошибаюсь, но как мне представляется: плаг получает имя файла > плаг генерирует скрипт > запускает интерпретатор > читает выхлоп > отдаёт результат. Ну, это не совсем то же, что загрузить в начале MediaInfo.dll, а потом просто пулять ей файлы Думаю, запуск скрипта AutoIt внутри VBScript может быть практичнее, надо проверять.
    Не зашкаливающая скорость - это да, но надо понимать, что плаг, как и предшественник, были написаны чтобы мы, пользователи, могли порешать свои трудности без взрослого специализированного бинарного плагина.
    В общем, плагин не барахло, но и чудес ждать не надо.
     
    Ну и скрипты AutoIt для такого специализированного использования надо, ИМХО, причёсывать, чтобы не тащить ведро инклюдов ради одного значения $FO_READ, как в тестовом.

    Всего записей: 6588 | Зарегистр. 28-01-2008 | Отправлено: 20:27 29-10-2024
    AkulaBig

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

    Цитата:
    Но на эксперименты чё-т не сильно тянет

    Ну а я попробую еще немного поковыряться.

    Цитата:
    запуск скрипта AutoIt внутри VBScript может быть практичнее, надо проверять

    Пока даже интересоваться этим не буду. Пока один интерес - подключить библиотеку.

    Цитата:
    В общем, плагин не барахло, но и чудес ждать не надо.

    Для определенных задач он просто прекрасен. Собственно я ведь и сейчас могу воспользоваться CLI-версией библиотеки, если-бы вопрос был принципиальный.

    Цитата:
    Ну и скрипты AutoIt для такого специализированного использования надо, ИМХО, причёсывать, чтобы не тащить ведро инклюдов ради одного значения $FO_READ, как в тестовом.

    В любом случае надо было хотя-бы этот файл включить в архив. Я вот вроде с гитхаба скачал его. Внутри еще три зависимости. Их скачал, но почему-то ничего не получилось. А разбираться желания не возникло.
    Ладно, поковыраюсь еще.

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 20:48 29-10-2024
    AkulaBig

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

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 22:53 29-10-2024
    Skif_off

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

    Цитата:
    Ну а я попробую еще немного поковыряться

    Честно говоря, не помню, почему отложил плагин в сторону, но вам желаю успехов. Если будет возможно, не сочтите за труд на форуме wincmd.ru показать результат.

    Цитата:
    Заработало!

    Речь о работе с MediaInfo.dll или о тестовом скрипте, который идёт с плагом?

    Цитата:
    В любом случае надо было хотя-бы этот файл включить в архив.

    Предполагается, что в настройках указан путь к AutoIt3.exe, а папка Include в дистрибутиве AutoIt лежит рядом с ним и проблем не будет.
    Один файл не получится: "WinAPIFiles.au3" подключает "APIFilesConstants.au3", "FileConstants.au3", "MemoryConstants.au3", "WinAPIConv.au3", "WinAPIError.au3", "WinAPIMem.au3", "WinAPIMisc.au3"
    и "WinAPIShPath.au3", дальше не смотрел. Т.е.минимум килобайт 200-250 из нескольких файлов прочитать и распарсить каждый раз вместо простой замены $FO_READ на значение (0) )

    Всего записей: 6588 | Зарегистр. 28-01-2008 | Отправлено: 05:13 30-10-2024
    AkulaBig

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

    Цитата:
    на форуме wincmd.ru показать результат

    Будет точно в сборке. Ну и наверное на форум выложу. Хотя всего 7 лет прошло с вопроса

    Цитата:
    Речь о работе с MediaInfo.dll или о тестовом скрипте, который идёт с плагом?
     

    Конечно. Тестовый файл я давно испытал, убрав подключение апи.

    Цитата:
    Предполагается, что в настройках указан путь к AutoIt3.exe, а папка Include в дистрибутиве AutoIt лежит рядом с ним и проблем не будет.

    Понятно. У меня-то просто два исполняемых файла. А там целый дистрибутив.

    Цитата:
    вам желаю успехов

    Там вообще другой синтаксис оказался подключения библиотеки. Команды те-же, а записи другие. Потом обсудим это. Надо все причесать.

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 05:52 30-10-2024
    AkulaBig

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

    Цитата:
    запуск скрипта AutoIt внутри VBScript может быть практичнее, надо проверять.

    Пришло время проверить эту мысль. Можете подсказать, как это сделать?

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 08:44 30-10-2024
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AkulaBig
    Например, https://www.ghisler.ch/board/viewtopic.php?p=307798#p307798

    Цитата:
    Там вообще другой синтаксис оказался подключения библиотеки. Команды те-же, а записи другие.

    Тогда, наверное, в этой теме тоже показать будет невредно, т.к. не уверен, что сам писал непосредственную работу с dll (полагаю, API у MediaInfo более-менее стабилен и не менялся слишком).

    Всего записей: 6588 | Зарегистр. 28-01-2008 | Отправлено: 19:19 30-10-2024
    AkulaBig

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Поразбирался я поподробнее. Оказалось, что знак "_" в au3 означает просто перенос строк. А дело было в другом. Надо было везде обращаться к конкретному элементу массива $hMediaInfo = $aMediaInfo[0], а не просто $hMediaInfo.
    Собственно вот уже полностью рабочий скрипт, просто пока с одним значением:
    Подробнее...
    Я уже и форматирование продолжительности сделал. Кстати, в отличии от TCMediaInfo правильно показывает.

    Цитата:
    Например

    Спасибо. Теперь я буду проверять еще два варианта. 1. Запуск по вашей методе. 2. Подключение в vbs CLI-версии MI. Посмотрим, что окажется быстрее. Так как подключение библиотеки мне уже понятно. Теперь надо заняться скоростью.

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 20:10 30-10-2024
    AkulaBig

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не получилось у меня запустить через vbs. Тема на au3 себя исчерпала. Предлагаю переместиться в тему плагина.

    Всего записей: 5039 | Зарегистр. 11-03-2003 | Отправлено: 05:23 31-10-2024
    Открыть новую тему     Написать ответ в эту тему

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

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