не удалось создать планировщик заданий на основе событий с помощью C Sharp - PullRequest
0 голосов
/ 13 мая 2019

Я попытался создать задачу окна, используя диез. Я сделал код, но код не работает, я получаю expcetionn времени выполнения. Это планировщик заданий на основе событий. Я пытаюсь запланировать задачу, которая будет вызываться при смене сети WIFI в системе.

Я пытался проверить много статей из Microsoft, а также за ее пределами. Я не хочу использовать какие-либо сторонние библиотеки, такие как «Кварц» или около того.

using (TaskService ts = new TaskService())
{
         //Create a new task definition and assign properties
         TaskDefinition td = ts.NewTask();

         td.RegistrationInfo.Description = "Git Config Details";

         // Create a trigger that will fire the task at this time every other day
         EventTrigger Etrigger = new EventTrigger("Mircosoft-Windows-NetworkProfile/Opertaional", "NetworkProfile", 10002);

                Etrigger.Enabled = true;

                td.Triggers.Add(Etrigger);

                // Create an action that will launch Notepad whenever the trigger fires
                td.Actions.Add(new ExecAction(@"C:\projects\Own\powershell\first.bat"));

                // Register the task in the root folder
                ts.RootFolder.RegisterTaskDefinition("Duplicate", td, TaskCreation.CreateOrUpdate, "NT AUTHORITY\\NETWORKSERVICE", null,
                                            TaskLogonType.ServiceAccount);
            }

1 Ответ

0 голосов
/ 14 мая 2019

мои плохие орфографические ошибки вызвали проблему. Microsoft и операционный написали неправильно в моем коде выше.

вот новый код для того, что сейчас находится в рабочем состоянии.

using (TaskService ts = new TaskService())
            {
                //Create a new task definition and assign properties
                TaskDefinition td = ts.NewTask();
                td.RegistrationInfo.Description = "Duplicate";

                // Create a trigger that will fire the task at this time every other day
                EventTrigger Etrigger = new EventTrigger("Microsoft-Windows-NetworkProfile/Operational", "Microsoft-Windows-NetworkProfile", 10002);

                Etrigger.Enabled = true;

                td.Triggers.Add(Etrigger);

                // Create an action that will launch Notepad whenever the trigger fires
                td.Actions.Add(new ExecAction(@"C:\projects\Own\powershell\first.bat"));

                // Register the task in the root folder
                ts.RootFolder.RegisterTaskDefinition("Duplicate", td, TaskCreation.CreateOrUpdate, "NT AUTHORITY\\NETWORKSERVICE", null,
                                            TaskLogonType.ServiceAccount);
            }

Спасибо всем, кто прокомментировал мой пост.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...