В моей среде Windows 7 запланировано несколько процессов, в основном для резервного копирования, которые должны выполняться в фоновом режиме.
Однако вместо того, чтобы просто спокойно работать в фоновом режиме, планировщик задач открывает черное (как консоль) окно «taskeng.exe». Окно выходит перед всеми остальными окнами. К счастью, это не крадет у меня фокус клавиатуры, но блокирует обзор всего.
Есть ли способ избежать этого окна - или, по крайней мере, оно появляется на заднем плане, не крадя мой ВИЗУАЛЬНЫЙ фокус?
Пример, отредактированный после примененного вознаграждения:
Вот моя последняя попытка использовать материал WScript (в файле с именем RunSignatured.bat):
Set Shell = CreateObject("WScript.Shell")
Shell.Run C:\Users\danh\Bin\signatured.bat, 0, False
Файл signatured.bat содержит:
cd C:\Users\danh\bin
"C:\Program Files\Java\jre7\bin\java.exe" Signature
Ответы:
Точнее, в отношении примера / награды Дэниела Р. Хикса, но я думаю, что он все еще может быть применен к исходной проблеме:
Если это пакетный файл, запускаемый из планировщика задач, то вместо простого запуска минимизированного / невидимого пакетного файла вам, вероятно, также необходимо изменить сам пакетный файл, чтобы выполнять его команды незаметно.
Так что поменяйте:
Для чего-то вроде:
Или, возможно, полностью удалите командный файл и просто сделайте все из сценария (VBS), который вы запускаете непосредственно из планировщика задач.
Что-то вроде:
Решение, реализованное DanH, в ответ на предложения techie007, удовлетворяющие щедрость:
Один файл с именем RunSignatured.vbs, содержащий:
Обратите внимание, что вышеупомянутое опирается на java.exe, находящийся в пути, так как метод не работает с пробелом в Program Files при указании полного пути. Без сомнения, есть другие способы обойти эту проблему, но это должны открыть другие.
Затем добавьте
RunSignature.vbs
в качестве «программы / сценария» имя в «Действие» в планировщике задач.источник
start /b
подхода. Казалось, ничто не устраняет окно - я думаю, оно было создано к тому моменту, когда вы начали выполнять файл bat, поэтому к тому времени уже слишком поздно.java
все в порядке в пути поиска.)Вы можете запускать запланированные задачи от имени другого пользователя, чтобы они вообще не взаимодействовали с интерактивным рабочим столом вашей обычной учетной записи. Это, безусловно, работает на серверах Windows2003, которые я администрирую. Просто будьте осторожны, чтобы убедиться, что права доступа к файлам и другие данные аутентификации установлены так, что задачи могут получить доступ к тому, что им нужно, когда вы являетесь другим пользователем.
Редактировать: или вместо непосредственного запуска консольного инструмента вы можете создать небольшой скрипт, который запускает его с помощью WScript.Shell.Run с опцией «свернуть без изменения фокуса»:
затем запустите это с помощью планировщика задач (что-то вроде командной строки
wscript c:\scripts\test.vbs
) вместо непосредственного вызова инструмента. Вы также должны иметь возможность вызывать командные файлы и другие сценарии. Существует также опция «полностью скрыть» (замените 7 выше на 0), хотя в любом случае скрыть / свернуть контролирует только начальное окно: если инструмент открывает больше сам, он может по-прежнему красть фокус, как и раньше.См. Http://msdn.microsoft.com/en-us/library/d5fk67ky%28VS.85%29.aspx для получения полного списка опций для метода run.
источник
Попробуйте запустить запланированное задание так:
start /b
Должны запустить приложение без создания нового окна.Если это не работает, то вы можете создать автономный скрипт AutoIt, который будет скрывать окно taskeng.exe. Скрипты AutoIt могут быть скомпилированы в .exe.
.Exe будет первой строкой в вашем файле mybackup.bat. Код AutoIt будет выглядеть так:
источник
Попробуйте 4trayMinimizer . Вы можете определить приложения, которые скрыты по умолчанию.
источник
Самый простой способ скрыть приложение, запущенное из планировщика заданий, - установить для него значение «Запускать независимо от того, вошел пользователь в систему или нет». Этот параметр можно найти на вкладке «Общие» в свойствах запланированных задач.
источник
Вот скрипт SyncToy, который я использую. Обратите внимание на несколько кавычек вокруг расположения файла:
источник
Видимо, вы установили SQLyog MySQL GUI , который запланировал выполнение агента заданий SQLyog . Похоже, что это консольное приложение, которое не пытается скрыть себя.
Вы должны найти в планировщике заданий задачу, ссылающуюся на SQLyog, и исправить ее запись. Если это вызов cmd, попробуйте добавить
/b
его в список параметров. Если это просто вызов исполняемого файла, вы можете исправить это с учетом моего ответа .Если у вас возникли проблемы с поиском этой записи, используйте автозапуск, чтобы узнать, как запускается SQLyog. Вы также можете использовать regedit для поиска всех упоминаний SQLyog или любого другого имени его установочного каталога.
Конечно, вы также можете удалить SQLyog MySQL GUI, если вам это не нужно.
Если вы не установили SQLyog MySQL GUI, возможно, ваш компьютер заражен. Вы можете использовать Process Monitor, чтобы проверить, когда появляется всплывающее окно, чтобы увидеть, является ли это taskeng.exe из system32 или один из похожих на Taskeng.exe .
источник
у меня возникла точная проблема с использованием SQLyog после некоторого исследования, я исправил его, создав файл с именем
invisible.vbs
и вставив этот код:Чем создать планировщик заданий для запуска
invisible.vbs
файла и все!источник