【问题标题】:working with windows services (c#)使用 Windows 服务 (c#)
【发布时间】:2009-09-17 11:01:26
【问题描述】:

我在 winforms 应用程序中创建了一个安装文件。安装该设置文件后,我只想在一天中的特定时间运行该文件。

例如:每天中午 12 点,程序会自动弹出窗口

我该怎么做?有什么想法吗?

【问题讨论】:

    标签: c# winforms windows-services


    【解决方案1】:

    Windows task scheduler 添加一个条目将是最简单的方法。

    我从未这样做过,但在设置期间应该可以这样做。 (即使这意味着在安装过程中执行一些额外的代码。)问题是在 Vista 之前和之后 task schedulers 的差异。有一个任务计划程序API 和Vista,最好还有一个特殊的commandline application 来创建新作业。

    【讨论】:

    • 是的,这正是我所需要的。但这应该仅通过安装文件自动发生。有可能吗?
    • 添加了 3 个附加链接来回答。不幸的是,我对调度程序没有进一步的经验。我确实有一些编写自己的调度程序服务的经验,相信我,你不想这样做!
    • @Workshop Alex - 你有关于你遇到的问题的网页或博客文章吗?多年来,我一直支持数据库驱动的服务来安排程序执行,并且没有遇到任何“问题”。缺乏计划、依赖等,但不是真正的问题。
    • 很遗憾,还没有博客。但一般的问题是您需要创建一个 24/7 运行的服务,它只需要等到触发事件的时间。确保它不会占用太多 CPU 周期是一个真正的挑战!任务计划程序是一个更简单的解决方案。
    【解决方案2】:

    您可以调用“C:\WINDOWS\system32\at.exe”来安排程序运行。 注意与下一次运行重叠的程序。

    请不要这样做:-

    “向 Windows 服务添加一个计时器,它将每 3 分钟检查一次,例如是否到了执行时间” 如果您必须使用间隔计时器,请至少进行数学计算并计算间隔,以便 Windows 可以换掉该死的东西。

    不知道你是谁,但我有一百万个小托盘应用程序,它们每 30 秒唤醒一次,只是为了检查它们是否应该按原样运行。谢谢。

    【讨论】:

      猜你喜欢
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多