使用C#创建计划任务(How to create a Task Scheduler use C# ).docx

使用C#创建计划任务(How to create a Task Scheduler use C# ).docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用C#创建计划任务(How to create a Task Scheduler use C# )

本文主要讲解了如何使用C#来创建windows计划任务。??需求:在不定时间段运行多个后台程序(winfrom,wpf,console,等等)用于更新数据。?问题:为什么要使用计划任务,而不直接在程序中使用一个计时器来出发呢? 答:最明显的一点,使用计时器程序一直在后台运行着,但需求中只需要一天运行一次,或一个月运行一次。一直后台跑着计时这不白浪费CPU资源么。?解决方案:使用windows自带的计划任务在控制面板中可以看到,手动新建计划任务。使用微软自带的类库TaskScheduler(c:\windows\system32\taskachd.dll)来创建使用Process.Star() dos命令来创建计划任务dos命令运行scheduler.exe 最简单实例:schtasks /create /sc minute /mo 1 /tnMyTask /tr calc.exe /st 09:00? //从9点开始没隔一分钟运行一次记事本具体帮助文档可在cmd命令框输入:schtasks /???schtasks /create /???schtasks /delete /?schtasks /query /?schtasks /change /?还可参照:/en-us/library/windows/desktop/bb736357%28v=vs.85%29.aspx?解决方案开始:這里选用微软自带的类库TaskScheduler,下面是封装过的代码,包含了删除计划任务、判断计划任务是否存在、获取所有的计划任务、创建计划任务。(具体看详细注释):?获取计划任务的列表: ///summary/// get all tasks////summarypublicstaticIRegisteredTaskCollectionGetAllTasks() {TaskSchedulerClassts = newTaskSchedulerClass();ts.Connect(null, null, null, null);ITaskFolder folder = ts.GetFolder(\\);IRegisteredTaskCollectiontasks_exists = folder.GetTasks(1);returntasks_exists; } View Code?判断计划任务是否存在:///summary/// check task isexists////summary///param name=taskName/param///returns/returnspublicstaticboolIsExists(stringtaskName) {varisExists = false;IRegisteredTaskCollectiontasks_exists = GetAllTasks();for (inti = 1; i = tasks_exists.Count; i++) {IRegisteredTask t = tasks_exists[i];if (t.Name.Equals(taskName)) {isExists=true;break; } }returnisExists; }View Code?删除计划任务:///summary/// delete task////summary///param name=taskName/paramprivatestaticvoidDeleteTask(stringtaskName) {TaskSchedulerClassts = newTaskSchedulerClass();ts.Connect(null, null, null, null);ITaskFolder folder = ts.GetFolder(\\);folder.DeleteTask(taskName, 0); }View Code?创建计划任务:///summary/// create scheduler////summary///param name=creator/param///param name=taskName/param///param name=path/param///param name=interval/param///param name=startBoundary/param///param name=description/param///returns/returnspublicstatic

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档