使用ITaskScheduler接口或任何其他替代方案安排Windows任务

时间:2014-04-04 21:43:01

标签: windows visual-studio-2013 scheduled-tasks legacy

所以我一直在研究如何以编程方式安排任务,到目前为止,我还没有找到任何有用或有用的信息。可能是因为我在寻找错误的东西,但这就是为什么我希望你们能帮助我。

这就是我所拥有的:

我有一个在Visual Studio 2013中创建的C#Windows窗体应用程序...理想情况下我想到的是创建一个打开表单的按钮,允许用户安排任务的时间和频率,然后设置它(如果该任务已经存在,请更新它)。

所以我在看ITaskScheduler,但我对如何使用它并实现它真的很无能为力。不确定我需要导入哪些程序集等...正在查看pinvoke上的this Link

然而,如果无法做到这一点,我愿意接受任何建议。我在C / C ++方面经验丰富,而且我知道我已经看到了一些C ++的方法,但没有什么看起来很有希望。

这是我想的另一种选择:

只需创建一个不同的程序,然后安排.exe在我想要的时候运行。

  • 截至目前,我非常倾向于这种方法,但我对Visual Studio中的编程相对较新。但是,我是一名经验丰富的程序员。
  • 我的问题是......创建这个程序的首选方法是什么?是创建Windows窗体应用程序还是控制台应用程序,还是仅使用Main()方法创建一个简单的空项目

所以,如果你们能为我提供一些关于这个主题的信息,我将不胜感激。

2 个答案:

答案 0 :(得分:0)

个人意见:

如果任务很少而且不常见,我会使用Windows预定任务。为了保持紧凑,任务可以运行创建任务但具有不同参数的相同.EXE。

如果一天中有很多小任务需要跟踪,记录等,我可能会创建一个Windows服务来运行它们,以及一个单独的前端用于用户交互。

答案 1 :(得分:0)

最简单的方法是使用Cygwin cronjob。首先,install Cygwin with cygrunsrv。然后:

sudo crontab -e
*/5 * * * *  /path/to/your/shell/script.sh

这会每五分钟运行一次,但您可以根据需要tinker with the schedule

crontab文件只是一个文本文件,因此用户应该能够通过Visual Studio应用程序对其进行编辑。