2013-07-16 18 views
0

我正在使用taskscheduler在一段時間間隔後運行我的應用程序。代碼如下所示, 但我希望在我的應用程序啓動後運行/調用方法如何調用taskScheduler中的方法?

using (TaskService ts = new TaskService()) 
     { 
      // Create a new task definition and assign properties 
      TaskDefinition td = ts.NewTask(); 
      td.RegistrationInfo.Description = "Open App"; 
      // Create a trigger that will fire the task now 
      Trigger tg = Trigger.CreateTrigger(TaskTriggerType.Time); 
      Trigger tri = Trigger.CreateTrigger(TaskTriggerType.Event); 


      tg.StartBoundary = DateTime.Now.AddMinutes(1); 

      td.Triggers.Add(tg); 
      // Create an action that will launch Notepad whenever the trigger fires 
      td.Actions.Add(new ExecAction(@"any.exe", null, null)); 
      // Register the task in the root folder 

      ts.RootFolder.RegisterTaskDefinition(@"Test", td); 


     } 

` 我需要什麼應用程序已經啓動後,在我的代碼運行/調用方法來改變。提前致謝。

+0

你有,如果你想幫助提供更多的信息。如果你啓動「any.exe」,爲什麼不在「any.exe」中啓動你想要的任何應用程序? –

回答

0

下面的代碼使用XML加載任務,但它可以給你的任務調度註冊遺漏碼:

 using (TaskService ts = new TaskService()) 
     { 
      var folder = ts.RootFolder.SubFolders.FirstOrDefault(folderItem => folderItem.Name 
        == folderName); 

      //folder doesn't exist, we will create it 
      if (folder == null) 
      { 
       folder = ts.RootFolder.CreateFolder(folderName); 
      } 
      string xmlTaskData = string.Empty; 
      if (File.Exists(fileLocation)) 
      { 
       xmlTaskData = File.ReadAllText(fileLocation); 
      } 
      else 
      { 
       return false; 
      } 

      var task = folder.Tasks.FirstOrDefault(taskInFolder => taskInFolder.Name == taskName); 

      //doesn't exist, we will add it using default xml 
      if (task == null) 
      { 
       task = CreateTask(ts, folder, taskName, xmlTaskData); 
      } 

      if (task != null) 
      { 
       // enable/disable the task 
       task.Enabled = add; 
       task.Definition.Settings.Enabled = add; 

       task.RegisterChanges(); 

       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
+0

我們不能在應用程序啓動後調用任何事件或方法,因爲此代碼可以自動啓動應用程序正常工作,但我希望在應用程序啓動時執行一些自動工作,因此我想調用特定方法。 –