Показать полную графическую версию : [решено] Автоперевод фокуса на программу, которая запускается из планировщика
Morpheus
02-10-2010, 04:01
Всем привет!
Пожалуйста, подмогните решить задачку.
Из стандартного планировщика Windows 7 запускается программа (любая) или выводится сообщение. Запускается нормально, но фокус не на этом окне, а где-то непонятно где. Чтобы перейти к программе, приходится жать на значок в панели задач. Это жутко неудобно.
Вопросов, как всегда, два: кто виноват и что делать почему так происходит и как исправить?
Morpheus
16-12-2010, 04:06
Пока ничего лучше не придумал, как написать в командном файлеstart cmd.exe и запускать его из планировщика. Тогда всё ок (кроме вывода сообщений).
Может, есть идеи?
Morpheus, а если в качестве команды указывать cmd, а в качестве параметров
/c program.exe /param && exit
Petya V4sechkin
16-12-2010, 10:06
Morpheus, типа NirCmd (http://www.nirsoft.net/utils/nircmd2.html) опция focus
Morpheus
16-12-2010, 13:25
Vadikan, неа, фокус там же.
Petya V4sechkin, не пойму, как пользоваться.
Petya V4sechkin
16-12-2010, 14:12
Morpheus, должно быть примерно так:
nircmd.exe win focus ititle "Internet Explorer"
Но у меня почему-то не работает.
Morpheus
16-12-2010, 16:13
Petya V4sechkin, вот и я про это. Пробовал перед тем как задать вопрос, только process вместо ititle.
Прокрутил сейчас страничку, нашел там exec show - работает :)
С сообщениями можно что-нибудь придумать?
неа, фокус там же. »
Вообще-то, у меня правильно фокусируется... после того, как я дописал start :) exit не нужен.
cmd
/c start cmd
Morpheus
16-12-2010, 23:50
Vadikan, да, тоже срабатывает :)
Morpheus, ну вот, не прошло и года, как мы додумались до команды start :)
P.S. Как сообщить о том, что моя проблема решена? (http://forum.oszone.net/faq.php?faq=vb_board_usage#faq_solved_thread_faq) :)
Morpheus
16-12-2010, 23:54
Vadikan, прошел :) Дата публикации способа 4 - 30.10.2009 :)
P.S. Как сообщить о том, что моя проблема решена? »
А сообщения?
А сообщения? »
Я поэкспериментировал немного. С сообщениями странно все выглядит. Если с нуля создать сообщение, то при первом запуске оно отображается на переднем плане, но при всех последующих - в фоне. Если его удалить, а затем заново создать - оно все равно идет в фоне (не перезагружался / не выходил из системы). Даже если создать аналогичное задание, но с другим сообщением - оно все равно идет в фон.
В общем, если тебе нужны сообщения на переднем плане, не надо упираться в ограничения планировщика. Все очень просто:
cmd
/c start wscript //nologo myscript.vbs
Set WshShell = CreateObject("WScript.Shell")
intReturn = WshShell.Popup("Follow the white rabbit!",,"Neo")
P.S. Think outside the box :)
Morpheus
17-12-2010, 13:14
Vadikan, хотя с vbs не самый удобный вариант, видимо, другого пути нет. Спасибо!
Можно ещё попробовать по предложенному же выше варианту в одну строку:
"%systemroot%\system32\mshta.exe" "javascript:try {new ActiveXObject('WScript.Shell').Popup('Follow the white rabbit!', 0,'Neo')}; catch (e){}; close();"
или просто:
"%systemroot%\system32\mshta.exe" "javascript:alert('Follow the white rabbit!'); close();"
Morpheus
17-12-2010, 16:32
Iska, спасибо! Без доп.файлов получше будет. Недостаток 1 - для создания сообщений придётся возвращаться к мануалу.
http://s009.radikal.ru/i308/1012/dc/c5d93ac12f53.jpg (http://www.radikal.ru)
:)
Угу, есть такое. А, может, тогда, коль у Вас уже есть NirCmd — пользовать его для вывода сообщений?
Morpheus
17-12-2010, 18:54
Iska, хмм... :) Куда попроще будет. Спасибо!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.