1. ホーム
  2. c#

[解決済み] スケジュールタスクの作成

2022-04-26 04:02:34

質問

私はC#のWPFプロジェクトに取り組んでいます。私は、ユーザーがWindowsタスクスケジューラにスケジュールされたタスクを作成し、追加することを許可する必要があります。

インターネットを検索してもあまり見つからないので、どのようにこれを行うことができるか、どのような使用ディレクティブとリファレンスが必要ですか。

どのように解決するのですか?

を使用することができます。 タスクスケジューラマネージドラッパー :

using System;
using Microsoft.Win32.TaskScheduler;

class Program
{
   static void Main(string[] args)
   {
      // Get the service on the local machine
      using (TaskService ts = new TaskService())
      {
         // Create a new task definition and assign properties
         TaskDefinition td = ts.NewTask();
         td.RegistrationInfo.Description = "Does something";

         // Create a trigger that will fire the task at this time every other day
         td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });

         // Create an action that will launch Notepad whenever the trigger fires
         td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null));

         // Register the task in the root folder
         ts.RootFolder.RegisterTaskDefinition(@"Test", td);

         // Remove the task we just created
         ts.RootFolder.DeleteTask("Test");
      }
   }
}

または ネイティブ APIを使用するか Quartz.NET . 参照 これ をご覧ください。