![]() |
Скрипт для отправки команд из Икара в фубар для МПС :wink2:
Для функционирования скрипта необходима библиотека автоит AutoItX3.dll(в корне папки сборки в папке "assemblies" и еще манифест AutoItX3.dll.manifest, в свежей сборке FLAT есть все что нужно). И плагин foo_ui_hacks. Пример кнопки для Икара: B,5,120,250,113,"SETVAR;SENDFB2K;nexttrack", SENDFB2K --- переменная которую объявляем в икаре и читаем в js скрипте фубара nexttrack --- команда которую прочитает фубар при например нажатии кнопки Работает так, запускаем фубар из икара, скрипт в фубаре начинает работать, опрашивать переменную икара "SENDFB2K", как только из икара переменной присвоено какое то значение и если оно совпадает со значением в переключателе выполняется то что было прописано под этим значением, при выполнении переменная икара обнуляется. Команды прописанные в переключателе(nexttrack, prevtrack, playorpause... и т.д.)прописаны как пример, можно прописывать что угодно, не забывая повесть команду на кнопку в икаре. PHP код:
Видео по работе снимать не стал, разобраться не сложно... но если нужно сниму Теперь не обязательно использовать фубар с командной строкой, команды приходящие из икара обрабатываются почти сразу фубаром, да и использовать так проще и выбор того что можно делать больше :spiteful: |
Слава - хорошая альтернатива!
НО! Цитата:
Я пока так делаю - при помощи : C:\XXX\YYY\Documents\iCarDS\skins\Chameleon\Script s\SendKey.exe (один из вариантов использования) : 1. При запуске скрипта есть контроль раскладки (всегда английская! для отправки анг буквенных символов) 2. Скажем - отправляю повороты колеса (+2) над стрелочниками: Код:
B,770,518,126,80,"RUNW;$SKINPATH$\Scripts\sendkey.exe|"[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]" "Analog VU Meter" "" "+2" как это сделать через AutoItX3.dll? Цитата:
Когда отправляем разово - цикла ведь нет ? Ну скажем : RUN;$foobar_exe$|/command:"repeat (track)" - стучим и получаем мгновенно ответ , а не через пол секунды - разве нет ? Так-же и через sendkey - запуск > ответ. Я просто пока не вижу преимуществ :dntknw: |
seriousstas
Цитата:
Цитата:
Цитата:
Пример: autoit_obj.ControlFocus(foobar_class, "", pl_class); autoit_obj.ControlSend(foobar_class, "", pl_class, "{F3}"); Цитата:
Да это опрос в цикле одной переменной которая принимает разные значения. Да когда отправляем разово цикла нет, НО при этом нужно: 1.выполнить команду 2.запустить ехе-шник(а это как правило скрипт автоит, который обрабатывается при его старте) а это тоже время и ресурсы. Ты также запускаешь копию фубара с командой и на это так же тратится время, так как запускается еще одна копия которая отрабатывает ком строку. Время цикла можно уменьшить и до 300 или 100 мс, это опрос всего лишь одной переменной в икаре, на производительность это почти не влияет. Могу даже больше сказать, многие варианты обработчиков работают так, только опросчик работает в другом потоке с очень короткой задержкой, это самый простой вариант опроса не используя сложные методы. По такому же принципу собрал себе плагин для пот-плеера(он кривой косой но работает) :smile2: Единственное отличие этого опросчика в JS что он работает в главном потоке. В этой схеме удобство еще в одном, тебе не нужно писать скрипты в икаре, нужно лишь отправить одну команду для приема фубаром т.е. js-ом а он ее уже обработает как необходимо. Это универсальная схема которая позволяет делать ну почти все в сборке... например: показывать/прятать панели, работать с плейлистами, менять порядок проигрывания, громкость, переключать ДСП, включать опции в панелях, запускать собственные кастомные функции... и т.д. т.е можно использовать почти все возможности js. А ком строка фубара это может ?... я очень сильно сомневаюсь Видос я запишу чуть позже будет просто более наглядно как оно работает. Это не замена всего что можно, это просто еще один вариант использования js :smile2: |
Цитата:
Этот скрипт , что выше - отдельный или вставляется скажем в MPS ? Цитата:
|
Цитата:
Запуски AutoHotkey и Autoit Получаю мгновенный запуск AutoHotkey-я и думающий где-то 300-500мс Autoit :ohmy2: |
seriousstas
Это как вариант, разнообразного использования Цитата:
Только нужно добавить в on_timer() if (rr_getinfo_timer && id == rr_getinfo_timer.ID) {...} if (rr_obj_check_timer && id == rr_obj_check_timer.ID) {...} и проверить переменные чтоб не совпадали. Можно и отдельную панель сунуть просто ее спрятав :) Цитата:
|
Цитата:
Не помню точно схему но суть в том что при запуске сначала распаковывается скрипт затем он попадает в обработчик ну и мы видим запуск. По сути как js построчное чтение и выполнение кода. |
Цитата:
Понял, что сжатие - не влияет .. Тут да - разные методы походу.. Но уже в 8.1-ке и 10ке любые скрипты работают быстро.. |
Цитата:
Скорее всего да разные методы, а виртуалка позволяет увидеть многое что невидно на живой системе. Сейчас видос отсниму по обработчику js глянешь как это хозяйство работает :wink2: У меня эта идея давно в моем воспаленном мозге роилась, но использование сборки с интерфейсом мне более по душе. |
Цитата:
Это словами сложно пояснить)) |
Часовой пояс GMT +4, время: 13:50. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot