如何使用 C# 验证服务器上是否存在计划任务?
另外你如何判断它是否正在运行、启用/禁用等?
also how can you tell if it is running, enabled/disabled, etc.?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
另外你如何判断它是否正在运行、启用/禁用等?
also how can you tell if it is running, enabled/disabled, etc.?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
您可以使用任务计划程序 API访问有关任务的信息。 (它是一个 com 库,但您可以使用 pinvokes 从 C# 调用它)
有一篇 文章在 codeproject 上,它为 API 提供了 .net 包装器。
[还有 schtask 命令 - 更多信息]
There is a Task Scheduler API that you can use to access information about tasks. (It is a com library, but you can call it from C# using pinvokes)
There is an article on codeproject that provides a .net wrapper for the API.
[There is also the schtasks command - more info]
该 API 可以通过 NuGet 安装。 包名称是“TaskScheduler”。 (https://github.com/dahall/taskscheduler)
以下示例展示了如何测试是否任务使用其名称进行安装,如果没有安装,则每小时执行一次。
The API can be installed via NuGet. The package name is 'TaskScheduler'. (https://github.com/dahall/taskscheduler)
The following example shows how you can test whether a task is installed using its name and if not install it with an hourly execution.
顺便说一句,IRT 我接受的解决方案,这里是 CodeProject 包装器代码(请参阅 http://www .codeproject.com/KB/cs/tsnewlib.aspx )需要验证 ScheduledTask 是否存在
我在集成测试中使用它,因此断言是 NUnit..
要检查它是否已启用,您可以执行以下操作:
btw, IRT my accepted solution, here is the CodeProject wrapper code (see http://www.codeproject.com/KB/cs/tsnewlib.aspx ) needed to verify that a scheduledTask exists
I use this in an Integration test so the Assert is NUnit..
to check if it is enabled, you can do the following: