【问题标题】:Scheduling a Windows Task Using ITaskScheduler Interface or any-other alternative使用 ITaskScheduler 接口或任何其他替代方法调度 Windows 任务
【发布时间】:2014-04-04 21:43:01
【问题描述】:

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

这是我所拥有的:

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

所以我一直在查看 ITaskScheduler,但我真的不知道如何使用它并实现它。不确定我需要导入哪些程序集等...正在查看pinvoke 上的this Link

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

这是我想的替代方案:

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

  • 到目前为止,我非常倾向于这种方法,但我对在 Visual Studio 中进行编程还是比较陌生。不过,我是一位经验丰富的程序员。
  • 我的问题是……创建这个程序的首选方法是什么?是创建一个 Windows 窗体应用程序还是一个控制台应用程序,或者只是一个使用 Main() 方法的普通空项目

所以,如果你们能为我阐明这个主题,将不胜感激。

【问题讨论】:

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


【解决方案1】:

个人意见:

如果任务很少而且不是那么频繁,我会使用 Windows 计划任务。为了保持紧凑,任务可以运行创建任务的相同 .EXE,但参数不同。

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

【讨论】:

    【解决方案2】:

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

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

    这将每五分钟运行一次,但您可以在您认为合适的时候tinker with the schedule

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

    【讨论】:

      猜你喜欢
      • 2011-09-01
      • 2016-10-02
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多