Просмотр полной версии : Команды "SETVAR"/"BYVAR" в RR
Собственно, трабл-то вот в чем: есть прога, запускаемая из основного скина вполне себе стандартной конструкцией:
"LOAD;System-Manager.skin;System-Manager||RUN;c:\Program Files\System-Manager\System-Manager.exe",""
Беда в том, что если потом просто перейти из ее скина куда-нибудь еще, при последующем обращении к ней (в строгом соответствии с приведенной выше конструкцией), запускается второй экземпляр проги. При том, что многие другие (тот же Озик или СитиГид) этим не страдают. В случае же с SM надо сначала загасить его штатными средствами, а уж потом покидать скин...
Это, в общем-то, ерунда, главное же - хотелось бы, чтобы прога была постоянно запущена в определенном состоянии (ну вот нужен мне файл-менеджер, причем открытый на конкретной папке)...
Интересной представляется конструкция из сабжевых команд:
"BYVAR" - эта команда позволяет выполнять различные команды, основанные на значении глобальной переменной. Значение переменной начинается с 0 (ноля).
Команды разделяются с помощью << (вместо >>, используемого кнопкой переключателя (switchbutton)). Пример: "SETVAR;GPSCHOICE;1"
Теперь Вы можете выполнить команду, основанную на используемой переменной:
"BYVAR;GPSCHOICE;DESTINATOR<<MAPPOINT" (если GPSCHOICE равно 0, выполняется команда DESTINATOR, если же равно 1, выполняется команда MAPPOINT
Т.е. отслеживаем состояние проги (запущена/не запущена), и в соответствии с этим на кнопку ее вызова из основного скина вешаем два варианта действий: либо запустить, либо активизировать... Логика-то, вроде бы, очевидна - но вот с грамотной ее реализацией в виде конкретного кода что-то не заладилось...:dntknw:
Может, кто-нибудь уже разобрался с этим?
А почему бы тебе не запускать его так?
"LOAD;System-Manager.skin;System-Manager;c:\Program Files\System-Manager\System-Manager.exe;System-Manager"
Такая конструкция у меня отрабатывает всегда на ура :)
По теме ветки.. Вот так у меня реализован запуск/останов караоке-проигрывателя одной кнопкой:
В ExecTBL.ini:
"StartKaraoke","CLOSEWINDOW;foobar2000||CLOSEWINDOW;The KMPlayer||RUN;C:\Program Files\vanBasco's Karaoke Player\vmidi.exe||SETVAR;KARAOKE;1||SETVAR;KMP;0|| PAUSE||CLOSEWINDOW;The KMPlayer"
"StopKaraoke","RUNQ;taskkill|/IM vmidi.exe||SETVAR;KARAOKE;0||RUNQ;taskkill|/IM vmidi.exe"
На кнопке:
"BYVAR;KARAOKE;StartKaraoke<<StopKaraoke"
2 ashu
Попробовал конструкцию из первого твоего поста - те же грабли: при повторном заходе в скин запускается второй экземпляр проги...
Со второй сложнее - много незнакомых букв... :blush:
Закрываешь два окна - foobar2000 (не знаю, что это...) и KMPlayer - ну, может быть, так оно и надо...
Запускаешь караоке (vmidi.exe - это он, надо полагать) - понятно...
Устанавливаешь значения для караоке и KMPlayer - тоже понятно, хотя при чем тут плеер...
А вот дальше - пауза и опять закрываешь окно - так оно же и не открывалось?!
Со "StopKaraoke" вообще туман: почему "RUNQ;taskkill|/IM vmidi.exe дважды? И что за конструкция IM vmidi.exe, те. что означает IM?
ну вот нужен мне файл-менеджер, причем открытый на конкретной папке
А зачем, если не секрет? Я просто делал это для правильного задания Current Directory для кривых программ работающих "от текущего каталога", но потом нашел более простой способ.
2 eea_2M
Темповая папка CamGrabber`а...
Прога в стадии непрерывного совершенствования, но пока еще нуждается в пристальном внимании ;)
Попробовал конструкцию из первого твоего поста - те же грабли: при повторном заходе в скин запускается второй экземпляр проги...А ты уверен, что открываемое твоей прогой окно называется "System-Manager"? Запуск второго экземпляра производится только в случае, если окно с таким название не было найдено среди уже открытых.
Закрываешь два окна - foobar2000 (не знаю, что это...) и KMPlayer - ну, может быть, так оно и надо...
Запускаешь караоке (vmidi.exe - это он, надо полагать) - понятно...
Устанавливаешь значения для караоке и KMPlayer - тоже понятно, хотя при чем тут плеер...
А вот дальше - пауза и опять закрываешь окно - так оно же и не открывалось?!
Со "StopKaraoke" вообще туман: почему "RUNQ;taskkill|/IM vmidi.exe дважды? И что за конструкция IM vmidi.exe, те. что означает IM?Да, какие команды я там выполняю - не суть, это уже мой геморрой ;) Я ж тебе так, для примера привёл.
Важные команды - SETVAR;KARAOKE;0 и SETVAR;KARAOKE;1 - чтобы работала переключалка.
2 ashu
Проверил WinSpy`ем... Таки да, "System-Manager".
Сказанное тобой понятно - ну это ж я так, для общего развития: разобрав по косточкам один пример, поймешь, как решить второй... Бо у меня затык именно в деталях - то, что надо установить значение переменной и уж отталкиваясь от него выполнять то или иное действие по кнопке я понял давно...
Ладно, спасибо - буду курить и пробовать ;)
2 eea_2M
Темповая папка CamGrabber`а...
Прога в стадии непрерывного совершенствования, но пока еще нуждается в пристальном внимании ;)
Ну а если я тебе слабаю мелкий консольный ЕХЕшник, который будет запускать файл указанный в параметре %1 с установкой ему CurrentDirectory как задано параметром %2, это решит проблему?
Например: starter.exe "C:\Programm Files\CamGrabber.exe" "C:\TEMP"
2 eea_2M
Спасибо за предложение - оценил, но тут дело в другом: процесс важнее результата ;)
В том смысле, что не столько мучает проблема, сколько доставляет удовольствие процесс ее решения. Что-то новое узнать, чему-то научиться. А когда готовое, да на блюдечке с голубой каемочкой, да еще и с ложечки и со слюнявчиком... Вот уж когда совсем стареньким стану...:blush:
есть вопросик - может кто подскажет
в РР есть вроде команда типа фокус или как-то так
а как её применить?
суть проблемы такова, при запущенном BeOnRoad'е если уйти со сцены навигашки, а потом на неё вернуться теряется фокус окна навигашки
и вторая проблема - программа считает, что я хочу её закрыть (в кнопке выхода написана команда "EXIT") и при возврате в навигашку выкидывает боксик в котором написано что-то типа "вы действительно хотите выйти?" и 2 кнопки "да" и "нет".
Вот как0бы этого избежать бы?!?!? :dntknw:
ещё раз прошу прощения,что не по теме поста вопрос, просто не хотел плодить темы лишние ...
2 eea_2M
Спасибо за предложение - оценил, но тут дело в другом: процесс важнее результата ;)
Панимаю :good:
2 Z@GR
Уж не знаю, поможет ли, но:
По поводу "EXIT": м.б. воспользоваться
"SHOWWINDOW" - эта команда позволяет показать или скрыть любое работающее приложение, основываясь на заданном заголовке окна. Пример: "SHOWWINDOW;Notepad;False" (скрывает Блокнот, значение служит True в качестве альтернативы для отображения окна)
А вторым действием на кнопку выхода повесить вызов основного скина...
И вместо фокуса использовать:
"ACTIVATE"[АКТИВИРОВАТЬ]- эта команда позволяет сфокусировать/ сделать приложение активным, основываясь на заданном заголовке окна. Эта команда должна оказать Вам особую поддержку для активации любого открытого окна и немедленной отправки команд с клавиш быстрого доступа при помощи команды "SENDKEY". Пример: "ACTIVATE;Notepad"
А вот команды "фокус" что-то я не припомню...
Кстати, можно даже и без "SHOWWINDOW", наверное - просто на кнопку выхода из скина нави повесить вызов основного скина...
Кстати, можно даже и без "SHOWWINDOW", наверное - просто на кнопку выхода из скина нави повесить вызов основного скина...Вполне достаточно вместо команды EXIT написать команду MAIN ;)
2 ashu
Так я это и имел в виду... :smile2:
У Z@GR`а-то проблема в том, что по возвращении фокус на нави теряется (хотя я слабо представляю, как это выглядит...)
2 ashu
Так я это и имел в виду... :smile2:
У Z@GR`а-то проблема в том, что по возвращении фокус на нави теряется (хотя я слабо представляю, как это выглядит...)
выглядит очень просто - представь если ты открываешь проводник, а потом кликаешь в рабочий стол, только навигашка при этом "останавливается", то есть ты едешь, а она продолжает показывать то место, на котором она фокус потеряла и приходится каждый раз в неё тыкать, чтобы она опомнилась...
спасибо за советы! - я попробую и отпишусь потом как это заработает!
2 Z@GR
Странная какая-то навигашка: ведь если так, то при переходе в любой другой скин она тоже должна замирать. И значит, по возвращении к ней - неизбежно должна какое-то время очухиваться?
Что-то я подобного за своими не замечал... А может быть и действительно - не замечал? Надо будет присмотреться.
Ну ладно - успехов! Отпишись, чего получится ;)
2 Z@GR
Странная какая-то навигашка: ....
Что-то я подобного за своими не замечал... А может быть и действительно - не замечал? Надо будет присмотреться.
действительно!
я пользуюсь ещё PGS и DESTINATOR - они так не тупят
Я раньше запускал iGO так (пока не разобрался как его заставить работать и не в фокусе):
"LOAD;iGO.skin;iGO8;C:\iGO8\Igo_pc.exe;iGO8||ACTIVA TE;iGO8"
Я раньше запускал iGO так (пока не разобрался как его заставить работать и не в фокусе):
"LOAD;iGO.skin;iGO8;C:\iGO8\Igo_pc.exe;iGO8||ACTIVA TE;iGO8"
Так у меня проблема не при запуске.
Я запускаю её когда - всё нормально, но на сцене навигации у меня есть кнопки управления музыкой, если их понажимать то фокус с окна нави уходит и приходится тыкать в неё после манипуляций с кнопками скина...
PS а чтобы заставить работать iGO не в фокусе, что надо было сделать с ним?
Bersenev
04.03.2010, 22:18
PS а чтобы заставить работать iGO не в фокусе, что надо было сделать с ним?
Здесь посмотри
http://www.compcar.ru/forum/showthread.php?t=1243&page=333
Работает на vBulletin® версия 3.8.4. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot