首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >schtasks.exe对ITaskScheduler

schtasks.exe对ITaskScheduler
EN

Stack Overflow用户
提问于 2009-09-25 12:45:05
回答 2查看 3.9K关注 0票数 3

我正在尝试编写一些代码来自动“配置”一批计算机上的预定任务。程序将读取一个XML文件,然后根据XML文件中的信息“配置”任务的运行时间等。

这个想法应该是程序可以在机器上“运行”多次,并自动“添加/删除”任何有效的更改。我想这样做的方式如下:

  1. 所有任务都将使用一些特殊的“前缀”创建。当程序运行时,它“删除”所有带有该前缀的任务,因为它们可以被假定是由程序以不同的、早期的configuration.
  2. The程序“创建”新任务。

所以我的“配置”程序需要能够

  1. 获取机器上所有现有计划任务的列表
  2. 按名称删除任务
  3. 按名称创建新任务

如果我能用C#编写程序,这将是最简单的。

我似乎有两种方法可以做到这一点:

  1. C#程序使用适当的命令行参数显式运行"schtasks.exe“程序。它“读取”并解析schtasks.exe的输出,以获得现有任务的列表,以便能够删除它们。然后再次运行schtasks.exe来创建新任务。
  2. 通过.NET COM包装器使用ITaskManager接口以编程方式查询和调度任务。

我更愿意使用#2,但我怀疑这是“旧的”功能--我在网络上发现的这意味着任务管理器功能自Windows以来得到了改进。

schtasks.exe仅仅是写在ITaskManager COM接口之上的命令行工具吗?或者schtasks.exe可以做ITaskManager接口不能做的事情?

ITaskManager接口/COM组件是否在计划任务文件夹中生成".job“文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-25 13:25:39

我正在成功地使用这个库:http://www.codeproject.com/KB/cs/tsnewlib.aspx

它似乎在内部使用ITaskScheduler COM接口,并公开了我需要的功能。

谢谢马蒂亚斯的快速回答(投了赞成票)。

票数 2
EN

Stack Overflow用户

发布于 2009-09-25 13:05:48

新的任务计划程序2.0是在Windows中引入的,您可以使用ITaskService接口来访问它。我相信Schtasks.exe是建立在这个API之上的。

但是,为了向后兼容,TS1.0 ITaskScheduler API仍然有效。因此,使用哪一个取决于您需要针对哪个操作系统版本,以及您是否需要TS 2.0的新特性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1477088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档