|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - перевод фокуса с одной проги на другую |
|
CMD/BAT - перевод фокуса с одной проги на другую
|
Новый участник Сообщения: 2 |
Всем привет! Прошу помощи.
Сам я не программист, домашний пользователь, но простые батники по нужде делать приходится. Итак, имею батник. Фокус перевожу утилитой nircmd.exe, но она как-то не четко работает. Не пойму, почему... Задача батника: 1) стартовать процесс BTV.exe с параметром 2) перевести фокус на ранее запущенное окно "Meedio" 3) через 2 секунды передать процессу BTV.exe другие параметры 4) перевести фокус на ранее запущенное окно "Meedio" Текст батника ниже. При запуске батника открывается cmd.exe, в нем вижу, что первый пункт выполняется, и далее никакого движения, пока не закрою окно cmd.exe крестиком. Т.е. второй и последующие пункты задачи не выполняются. Чего-то тут не хватает. "C:\Program Files (x86)\BTV\BTV.exe" -tr nircmd.exe win activate stitle "Meedio" ping 127.0.0.1 -n 2 >nul "C:\Program Files (x86)\BTV\BTV.exe" -wu -m:dvbtrd -unmute -vol:170 -ch:1 nircmd.exe win activate stitle "Meedio" Подскажите, пожалуйста, что нужно дописать, чтоб заработало? |
|
Отправлено: 20:00, 20-12-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата EvgenC:
Если хотите экспериментировать сами, то вот: start "" "%ProgramFiles(x86)%\BTV\BTV.exe" -tr nircmd.exe win activate stitle "Meedio" nircmd.exe wait 2000 start "" "%ProgramFiles(x86)%\BTV\BTV.exe" -wu -m:dvbtrd -unmute -vol:170 -ch:1 nircmd.exe win activate stitle "Meedio" Цитата:
|
||
Отправлено: 22:02, 20-12-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Iska, пришлось создать новый аккаунт, т.к. старый почему-то не позволяет отвечать на форуме...
Немного не правильно описал задачу: нужно и фокус перевести на «Meedio» и сделать его поверх всех окон. что есть что
BTV.exe - программа управления платой ТВ-тюнера. Задача батника запустить эту программу и настроить ее на заданный FM-радиоканал или DVB-радиоканал с заданным уровнем громкости.
«Meedio» - мультимедийная оболочка, из под которой управляется компьютер с помощью ПДУ. Она развернута на весь экран. С помощью утилиты nircmd.exe было выяснено, что окно этой оболочки имеет заголовок, в котором есть слово «Meedio». На него я и настроил команду "win activate stitle". И она прекрасно работает, как раз так, как мне надо: если фокус сбивается или что-то вылезло поверх оболочки, то нажимая спец.кнопку на ПДУ, запускается батник с "nircmd.exe win activate stitle "Meedio"" и оболочка опять поддается контролю с ПДУ. Но когда я эту команду прописал так, как в батнике выше (т.е. после запуска BTV.exe ), то фокус на оболочку не переводится и прога BTV.exe остается в фокусе и поверх окна оболочки. Команда "focus" - тоже не дает желаемого результата... |
Отправлено: 17:39, 23-12-2020 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать evgenc2, тогда вовсе непонятно, зачем Вам промежуточное «win activate stitle "Meedio"»?
|
Отправлено: 00:02, 24-12-2020 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Промежуточное - это чтобы ничего не маячило поверх оболочки.
И похоже я нашел, почему не работало... Команды nircmd.exe обрабатываются очень быстро. А прога BTV.exe запускается некоторое время. И к моменту запуска BTV.exe фокус остается на ней, а nircmd.exe уже давно отработал. Выход: прописать команду nircmd.exe несколько раз подряд. Десять штук подряд хватило. Так что можно считать, что проблема решена. Осталось понаблюдать некоторое время. |
|
Отправлено: 20:37, 24-12-2020 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать evgenc2, тогда лучше задействовать AutoIt с его WinWait*.
|
Отправлено: 21:56, 24-12-2020 | #6 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Спасибо, Iska, если вылезут проблемы с описанным способом решения задачи, то придется изучать возможности AutoIt.
|
Отправлено: 23:04, 26-12-2020 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать evgenc2, не «если», а «когда»
![]() |
Отправлено: 23:29, 26-12-2020 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Службы - [решено] Перевод фокуса на программу, запускаемую из планировщика (notepad++) | CyraxZ | Microsoft Windows 10 | 10 | 24-06-2017 00:08 | |
Разное - Перенос программы с одной машины на другую | aarexer | Microsoft Windows 2000/XP | 6 | 08-11-2014 18:34 | |
Flash - как перебросить драйвера с одной флешки на другую | Nil2011 | Накопители (SSD, HDD, USB Flash) | 3 | 18-02-2013 19:55 | |
Переход с одной видеокарты на другую... | Punsher | Видеокарты | 8 | 30-01-2009 21:24 | |
Перенос контроллера домена с одной машины на другую | PsyDuck | Microsoft Windows NT/2000/2003 | 7 | 30-11-2007 16:12 |
|