通過 TaskScheduler 建立windows計劃

來源:互聯網
上載者:User

標籤:des   style   blog   color   os   art   

需要引用Microsoft.Win32.TaskScheduler.dll 類庫記得using Microsoft.Win32.TaskScheduler;          /// <summary>        /// 建立windows計劃任務        /// </summary>        /// <param name="taskName">任務名稱</param>        /// <param name="stateTime">執行時間</param>        public static void CreateTask(string taskName, DateTime stateTime)        {            try            {                // 計劃任務服務                TaskService ts = new TaskService();                // 建立一個計劃任務                TaskDefinition td = ts.NewTask();                td.RegistrationInfo.Description = "DTU執行未執行過的任務";  //任務描述                td.RegistrationInfo.Author = "EcpDtu";            //任務作者                //時間執行時間                TimeTrigger tt = new TimeTrigger();                tt.StartBoundary = DateTime.Now.AddSeconds(5);//stateTime.AddHours(4); //開始時間                tt.EndBoundary = DateTime.Now.AddSeconds(10);//stateTime.AddHours(8);   //結束執行時間                td.Triggers.Add(tt);                      //將觸發器添加到任務中                //建立一個執行操作                var exe = new ExecAction("RunTask.exe", null, ConfigurationManager.AppSettings["RunTask_path"]);                //添加執行操作到計劃任務的操作中                td.Actions.Add(exe);                //註冊計劃任務                ts.RootFolder.RegisterTaskDefinition(taskName, td);            }            catch (Exception ex)            {                MsgHelper.ErrorWriteLog("建立計劃任務錯誤_CreateTask(string name)" + ex.Message);            }        }        /// <summary>        /// 查詢計劃任務        /// </summary>        /// <param name="taskName"></param>        public static void RetrieveTestTask(string taskName)        {            // 計劃任務服務            TaskService ts = new TaskService();            Task t = ts.GetTask(taskName);            if (t != null)            {                Console.WriteLine("Task Name={0}", t.Name);                Console.WriteLine("Task Execution Time={0}", t.LastRunTime);                Console.WriteLine("Task Last Run Result={0}", t.LastTaskResult);                Console.WriteLine("Task Next Execution Time={0}", t.NextRunTime);            }        }        /// <summary>        /// 刪除計劃任務        /// </summary>        public static void DeleteTestTask(string taskName)        {            // 計劃任務服務            TaskService ts = new TaskService();            ts.RootFolder.DeleteTask(taskName);        }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.