PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ > Программы управления > Road Runner

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2009, 16:02   #1
Pinin
Гуру
 
Аватар для Pinin
 
Регистрация: 03.01.2008
Возраст: 59
Город: Н. Новгород
Регион: 52
Машина: MMC Pajero Pinin GDI 2.0 2004, Volvo XC 60, D4, 2014
Сообщений: 1,301
Pinin will become famous soon enoughPinin will become famous soon enough
По умолчанию Команды "SETVAR"/"BYVAR" в RR

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

PHP код:
"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
Т.е. отслеживаем состояние проги (запущена/не запущена), и в соответствии с этим на кнопку ее вызова из основного скина вешаем два варианта действий: либо запустить, либо активизировать... Логика-то, вроде бы, очевидна - но вот с грамотной ее реализацией в виде конкретного кода что-то не заладилось...

Может, кто-нибудь уже разобрался с этим?
__________________
Крепко жму горло, с увлажнением.
Pinin
Pinin вне форума   Ответить с цитированием
Старый 08.09.2009, 16:19   #2
ashu
Старший Пользователь
 
Аватар для ashu
 
Регистрация: 25.11.2007
Возраст: 51
Город: СПб, Гондурас
Регион: 78, 98
Машина: Toyota Prius 11S выпуска 2001/09
Сообщений: 766
ashu has a spectacular aura aboutashu has a spectacular aura about
По умолчанию

А почему бы тебе не запускать его так?

"LOAD;System-Manager.skin;System-Manager;c:\Program Files\System-Manager\System-Manager.exe;System-Manager"

Такая конструкция у меня отрабатывает всегда на ура
__________________
Мой Toyota Prius NHW11
ashu вне форума   Ответить с цитированием
Старый 08.09.2009, 16:24   #3
ashu
Старший Пользователь
 
Аватар для ashu
 
Регистрация: 25.11.2007
Возраст: 51
Город: СПб, Гондурас
Регион: 78, 98
Машина: Toyota Prius 11S выпуска 2001/09
Сообщений: 766
ashu has a spectacular aura aboutashu has a spectacular aura about
По умолчанию

По теме ветки.. Вот так у меня реализован запуск/останов караоке-проигрывателя одной кнопкой:

В 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"
__________________
Мой Toyota Prius NHW11
ashu вне форума   Ответить с цитированием
Старый 08.09.2009, 16:42   #4
Pinin
Гуру
 
Аватар для Pinin
 
Регистрация: 03.01.2008
Возраст: 59
Город: Н. Новгород
Регион: 52
Машина: MMC Pajero Pinin GDI 2.0 2004, Volvo XC 60, D4, 2014
Сообщений: 1,301
Pinin will become famous soon enoughPinin will become famous soon enough
По умолчанию

2 ashu

Попробовал конструкцию из первого твоего поста - те же грабли: при повторном заходе в скин запускается второй экземпляр проги...

Со второй сложнее - много незнакомых букв...

Закрываешь два окна - foobar2000 (не знаю, что это...) и KMPlayer - ну, может быть, так оно и надо...

Запускаешь караоке (vmidi.exe - это он, надо полагать) - понятно...

Устанавливаешь значения для караоке и KMPlayer - тоже понятно, хотя при чем тут плеер...

А вот дальше - пауза и опять закрываешь окно - так оно же и не открывалось?!


Со "StopKaraoke" вообще туман: почему "RUNQ;taskkill|/IM vmidi.exe дважды? И что за конструкция IM vmidi.exe, те. что означает IM?
__________________
Крепко жму горло, с увлажнением.
Pinin
Pinin вне форума   Ответить с цитированием
Старый 08.09.2009, 16:46   #5
eea_2M
Старший Пользователь
 
Аватар для eea_2M
 
Регистрация: 14.11.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 406
Сообщений: 78
eea_2M is on a distinguished road
По умолчанию

Цитата:
Сообщение от Pinin Посмотреть сообщение
ну вот нужен мне файл-менеджер, причем открытый на конкретной папке
А зачем, если не секрет? Я просто делал это для правильного задания Current Directory для кривых программ работающих "от текущего каталога", но потом нашел более простой способ.
eea_2M вне форума   Ответить с цитированием
Старый 08.09.2009, 16:52   #6
Pinin
Гуру
 
Аватар для Pinin
 
Регистрация: 03.01.2008
Возраст: 59
Город: Н. Новгород
Регион: 52
Машина: MMC Pajero Pinin GDI 2.0 2004, Volvo XC 60, D4, 2014
Сообщений: 1,301
Pinin will become famous soon enoughPinin will become famous soon enough
По умолчанию

2 eea_2M

Темповая папка CamGrabber`а...

Прога в стадии непрерывного совершенствования, но пока еще нуждается в пристальном внимании
__________________
Крепко жму горло, с увлажнением.
Pinin
Pinin вне форума   Ответить с цитированием
Старый 08.09.2009, 17:10   #7
ashu
Старший Пользователь
 
Аватар для ashu
 
Регистрация: 25.11.2007
Возраст: 51
Город: СПб, Гондурас
Регион: 78, 98
Машина: Toyota Prius 11S выпуска 2001/09
Сообщений: 766
ashu has a spectacular aura aboutashu has a spectacular aura about
По умолчанию

Цитата:
Сообщение от Pinin Посмотреть сообщение
Попробовал конструкцию из первого твоего поста - те же грабли: при повторном заходе в скин запускается второй экземпляр проги...
А ты уверен, что открываемое твоей прогой окно называется "System-Manager"? Запуск второго экземпляра производится только в случае, если окно с таким название не было найдено среди уже открытых.

Цитата:
Сообщение от Pinin Посмотреть сообщение
Закрываешь два окна - foobar2000 (не знаю, что это...) и KMPlayer - ну, может быть, так оно и надо...
Запускаешь караоке (vmidi.exe - это он, надо полагать) - понятно...
Устанавливаешь значения для караоке и KMPlayer - тоже понятно, хотя при чем тут плеер...
А вот дальше - пауза и опять закрываешь окно - так оно же и не открывалось?!

Со "StopKaraoke" вообще туман: почему "RUNQ;taskkill|/IM vmidi.exe дважды? И что за конструкция IM vmidi.exe, те. что означает IM?
Да, какие команды я там выполняю - не суть, это уже мой геморрой Я ж тебе так, для примера привёл.
Важные команды - SETVAR;KARAOKE;0 и SETVAR;KARAOKE;1 - чтобы работала переключалка.
__________________
Мой Toyota Prius NHW11
ashu вне форума   Ответить с цитированием
Старый 08.09.2009, 17:28   #8
Pinin
Гуру
 
Аватар для Pinin
 
Регистрация: 03.01.2008
Возраст: 59
Город: Н. Новгород
Регион: 52
Машина: MMC Pajero Pinin GDI 2.0 2004, Volvo XC 60, D4, 2014
Сообщений: 1,301
Pinin will become famous soon enoughPinin will become famous soon enough
По умолчанию

2 ashu

Проверил WinSpy`ем... Таки да, "System-Manager".

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

Ладно, спасибо - буду курить и пробовать
__________________
Крепко жму горло, с увлажнением.
Pinin
Pinin вне форума   Ответить с цитированием
Старый 08.09.2009, 18:00   #9
eea_2M
Старший Пользователь
 
Аватар для eea_2M
 
Регистрация: 14.11.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 406
Сообщений: 78
eea_2M is on a distinguished road
По умолчанию

Цитата:
Сообщение от Pinin Посмотреть сообщение
2 eea_2M

Темповая папка CamGrabber`а...

Прога в стадии непрерывного совершенствования, но пока еще нуждается в пристальном внимании
Ну а если я тебе слабаю мелкий консольный ЕХЕшник, который будет запускать файл указанный в параметре %1 с установкой ему CurrentDirectory как задано параметром %2, это решит проблему?
Например: starter.exe "C:\Programm Files\CamGrabber.exe" "C:\TEMP"
eea_2M вне форума   Ответить с цитированием
Старый 08.09.2009, 18:10   #10
Pinin
Гуру
 
Аватар для Pinin
 
Регистрация: 03.01.2008
Возраст: 59
Город: Н. Новгород
Регион: 52
Машина: MMC Pajero Pinin GDI 2.0 2004, Volvo XC 60, D4, 2014
Сообщений: 1,301
Pinin will become famous soon enoughPinin will become famous soon enough
По умолчанию

2 eea_2M

Спасибо за предложение - оценил, но тут дело в другом: процесс важнее результата

В том смысле, что не столько мучает проблема, сколько доставляет удовольствие процесс ее решения. Что-то новое узнать, чему-то научиться. А когда готовое, да на блюдечке с голубой каемочкой, да еще и с ложечки и со слюнявчиком... Вот уж когда совсем стареньким стану...
__________________
Крепко жму горло, с увлажнением.
Pinin
Pinin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 22:01.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot