Могу ли я запустить программу при запуске, прежде чем кто-либо вошел в систему? Так, например, q-torrent и некоторые другие программы запускаются снова после неожиданного выключения (например, сбоя питания или подобного) и автоматически выполняют свои задачи. А также будет ли следующая программа отображаться в диспетчере задач, как если бы она выполнялась системой или пользователем.
2 ответа
Вы можете запустить свое приложение как сервис. Сервисы - это приложение, которое запускает Windows при запуске даже до появления экрана входа.
Вы можете следовать этому руководству, чтобы сделать это
Вы можете использовать планировщик заданий для достижения этой цели. Нажмите Win+R и выполните там taskchd.msc. Создайте задачу и установите параметр «Запускать, зарегистрирован ли пользователь или нет». Создайте триггер "При запуске". Добавьте действие с путем к вашей программе или файлу bat, добавьте аргументы и каталог запуска, если это необходимо. Вам нужно будет ввести свои учетные данные, когда вы нажмете ОК.
Несколько слов о параметре «Запускать, зарегистрирован ли пользователь или нет». Эта опция доступна, когда вы запускаете задачу в качестве текущего пользователя или другого пользователя на компьютере. Но вы можете указать запускать задачу как SYSTEM, чтобы предоставить максимальные привилегии, и «Запустить, зарегистрирован ли пользователь или нет», будет отключено, потому что SYSTEM всегда онлайн. Но я не рекомендую использовать SYSTEM, если вам действительно не нужны такие высокие привилегии.
Мой пример: у меня есть сервер Gitbucket, который работает так. Я создал bat-файл со следующим содержимым:
java -jar gitbucket.war --gitbucket.home="D:\gitbucket\home" > stdout.log 2> stderr.log
Поэтому я поместил путь к файлу bat в поле «Программа / скрипт» (D:\gitbucket\gitbucket.bat), а его каталог - в поле «Запускать (необязательно)» (D:\gitbucket). Все аргументы находятся внутри bat, поэтому они мне не нужны в поле «Добавить аргументы (необязательно)».