Скрытая настройка планировщика заданий Windows 7 не работает

Скрытая настройка планировщика заданий Windows 7 не работает

У меня есть процесс-демон, который я запускаю на своем компьютере каждый час, и хотя я установил флажок Hidden, он не работает.Свойства задачи

Каждый час задача запускается, но она показывает черное командное окно, в котором запущено мое приложение .NET Console. Оно остается видимым до тех пор, пока задача не завершится, а затем исчезает. Это очень раздражает, потому что оно всплывает и прерывает все, что я делаю:

введите описание изображения здесь

Я действительно хочу, чтобы это было скрыто. Как это исправить?

решение1

Установите флажок «Запускать независимо от того, вошел ли пользователь в систему или нет», и исполняемый файл будет запущен в фоновом режиме.

решение2

Почему запланированная задача Windows 7 выполняется скрытно?следует объяснить, почему это происходит.

Также,это описание TechNetОбщие свойства задачисостояния:

Общие свойства задачи отображаются на вкладке Общие диалогового окна Свойства задачи или Создать задачу. Общие свойства задачи включают имя задачи, автора, описание, параметры безопасности, операционную систему, для которой настроена задача,и свойство, которое контролирует, является ли задача скрытой.

При создании задачи в папке задач необходимо дать ей имя. Две задачи не могут иметь одинаковые имена, если они находятся в одной папке задач. Описание задачи необязательно.

Параметры безопасности задачи определяют контекст безопасности, в котором выполняется задача. Для получения дополнительной информации см. Контекст безопасности задачи.

По умолчанию скрытые задачи не отображаются в пользовательском интерфейсе планировщика задач. Вы можете просматривать скрытые задачи, если в меню Вид выбран пункт Показать скрытые задачи. Вы делаете задачу скрытой, установив флажок Скрытая на вкладке Общие диалогового окна Свойства задачи или Создать задачу.

Не означает ли это, что флажок только скрываетсама задачаиз пользовательского интерфейса планировщика, а не из самой запланированной программы?

решение3

Хорошо, после некоторых дополнительных исследований я обнаружилэтот ответна StackOverflow:

Чтобы настроить выполнение запланированной задачи в фоновом режиме, измените пользователя, запускающего задачу, на SYSTEM, и на экране ничего не отобразится.

Комментарийуказывает, что это дает полные права на выполнение задачи, что может раздражать, но в данном случае приемлемо.

Но все же, что делает Hidden, если не делает этого? И какое отношение учетная запись пользователя, запускающего программу, должна иметь к ее видимости?

решение4

Я оставляю настройки по умолчанию и пишу короткие пользовательские программы, которые запускают выполнение без показа окна. Например, чтобы запустить пакетный файл без появления окна командной строки, используйте код ниже. Установите задачу для запуска "RunBatchFile.exe (path_to_batch_file)".

class Program
{
    static void Main(string[] args)
    {
        try
        {
            if (args.Length < 1)
            {
                Console.WriteLine("No batch file");
                Console.WriteLine("Usage: RunBatchFile (path)");
                Environment.Exit(1);
            }

            if (!File.Exists(args[0]))
            {
                Console.WriteLine("Batch file {0} not found", args[0]);
                Console.WriteLine("Usage: RunBatchFile (path)");
                Environment.Exit(1);
            }

            // Set to batch file's folder
            string startIn = Path.GetDirectoryName(args[0]);
            if (!string.IsNullOrEmpty(startIn) && Directory.Exists(startIn))
                Directory.SetCurrentDirectory(startIn);

            // Start
            ProcessStartInfo pi = new ProcessStartInfo()
            {
                FileName = args[0],
                UseShellExecute = true,
                WindowStyle = ProcessWindowStyle.Hidden
            };
            Process.Start(pi);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception: " + ex.ToString());
        }
    }
}

Связанный контент