Войти

Показать полную графическую версию : [решено] Автоперевод фокуса на программу, которая запускается из планировщика


Morpheus
02-10-2010, 04:01
Всем привет!

Пожалуйста, подмогните решить задачку.
Из стандартного планировщика Windows 7 запускается программа (любая) или выводится сообщение. Запускается нормально, но фокус не на этом окне, а где-то непонятно где. Чтобы перейти к программе, приходится жать на значок в панели задач. Это жутко неудобно.

Вопросов, как всегда, два: кто виноват и что делать почему так происходит и как исправить?

Morpheus
16-12-2010, 04:06
Пока ничего лучше не придумал, как написать в командном файлеstart cmd.exe и запускать его из планировщика. Тогда всё ок (кроме вывода сообщений).
Может, есть идеи?

Vadikan
16-12-2010, 10:06
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 - работает :)
С сообщениями можно что-нибудь придумать?

Vadikan
16-12-2010, 23:42
неа, фокус там же. »
Вообще-то, у меня правильно фокусируется... после того, как я дописал start :) exit не нужен.
cmd
/c start cmd

Morpheus
16-12-2010, 23:50
Vadikan, да, тоже срабатывает :)

Vadikan
16-12-2010, 23:52
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. Как сообщить о том, что моя проблема решена? »
А сообщения?

Vadikan
17-12-2010, 12:54
А сообщения? »
Я поэкспериментировал немного. С сообщениями странно все выглядит. Если с нуля создать сообщение, то при первом запуске оно отображается на переднем плане, но при всех последующих - в фоне. Если его удалить, а затем заново создать - оно все равно идет в фоне (не перезагружался / не выходил из системы). Даже если создать аналогичное задание, но с другим сообщением - оно все равно идет в фон.

В общем, если тебе нужны сообщения на переднем плане, не надо упираться в ограничения планировщика. Все очень просто:
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 не самый удобный вариант, видимо, другого пути нет. Спасибо!

Iska
17-12-2010, 14:25
Можно ещё попробовать по предложенному же выше варианту в одну строку:
"%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)
:)

Iska
17-12-2010, 18:40
Угу, есть такое. А, может, тогда, коль у Вас уже есть NirCmd — пользовать его для вывода сообщений?

Morpheus
17-12-2010, 18:54
Iska, хмм... :) Куда попроще будет. Спасибо!




© OSzone.net 2001-2012