Есть ли способ запустить .bat или .cmd при запуске заставки? Я заметил, что некоторые .exe могут работать, если вы переименуете их в .scr, но так ли это?
3 ответа
1. Экран запуска
Screen Launcher позволяет выбрать любую программу для запуска в качестве заставки. Вы можете запустить Powerpoint, фильм или любой EXE или связанный файл. Чтобы установить, просто разархивируйте, щелкните правой кнопкой мыши и выберите Установить в контекстном меню. Затем вы можете использовать Screen Launcher, как и любую другую заставку. Чтобы открыть такие файлы, как презентации Powerpoint, вы должны запустить программу Powerpoint и ввести путь к вашему ppt в качестве параметра. Примером отображения изображения может служить c:\winnt\system32\mspaint.exe c:\picture.bmp. Скачать сегодня, чтобы использовать любые средства массовой информации в качестве заставки.
[ Альтернативная ссылка для скачивания, так как официальный сайт кажется мертвым. ]
2. RunSaver (не путайте с RunScreenSaver того же автора).
Заставка, которая запускает команду.
Я уверен, что есть еще много таких заставок, которые позволят вам запускать произвольные программы / скрипты. Но что, если вы хотите продолжить использовать текущую заставку? Если это так, см. Ниже решение (протестировано на Win7, должно работать на Vista+).
3. Не используя никаких инструментов 3 - й партии
Событие с идентификатором 4802 соответствует экранной заставке, которая была вызвана, но по умолчанию она не регистрируется, поэтому сначала необходимо включить ведение журнала для этого события. Итак, откройте редактор локальной групповой политики (
Start / Run / gpedit.msc
), перейдите к:Computer Configuration / Windows Settings / Security Settings / Advanced Audit Policy Configuration / System Audit Policies - Local Group Policy Object / Logon/Logoff / Audit Other Logon/Logoff Events
и установите флажки « Успех и неудача»:
Если вы дождетесь запуска заставки, теперь вы увидите журналы событий, похожие на следующие в Event Viewer:
Теперь легко использовать Task Scheduler для создания задачи, которая будет запущена при возникновении события 4802. Просто убедитесь, что вкладка « Триггеры » диалогового окна « Свойства» задачи выглядит следующим образом:
Чтобы завершить хороший ответ от @Karan, я хотел бы сослаться, для тех, кто заинтересован в выполнении программы после закрытия скринсейвера, что процесс такой же, как и в его "3.«Использование сторонних инструментов» , но идентификатор события должен быть 4803.
(Например, в моем случае я хочу отключить Aero ("net stop uxsms") при запуске заставки и включить его ("net start uxsms") при остановке экрана)
Если время не является критически важным, то вы можете просто использовать встроенный триггер планировщика заданий «Начать задание: на холостом ходу».
Task Scheduler -> Create Task -> "Trigger" tab -> New -> "Begin the task:" -> "On Idle"
Затем перейдите на вкладку "Действия" и установите действие, которое вы хотите запустить.
Это должно выполнить действие после запуска заставки (или , если система переходит в режиме ожидания без экрана), но может быть 0-15 минут задержки. Вот соответствующие особенности из документации планировщика задач:
Служба планировщика заданий будет проверять, находится ли компьютер в режиме ожидания каждые 15 минут. Компьютер считается находящимся в состоянии ожидания, когда работает заставка. Если экранная заставка не запущена, то компьютер считается находящимся в режиме ожидания, если загрузка ЦП 0% и ввод или вывод диска 0% в течение 90% за последние пятнадцать минут и если нет ввода с клавиатуры или мыши в течение этого периода времени.
Итак, ваша заставка запускается, а затем через 0-15 минут Windows проверяет на бездействие и запускает вашу программу.