C#模拟windows xp中的定时计划任务

首先,下载一个TaskScheduler.dll(这个dll对xp有效,在win7上貌似是不行的,没有具体测试),并将他添入到你项目的引用;

 

下面的代码可以帮助你创建计划任务:

 

using System;
using System.Collections.Generic;
using System.Text;
using TaskScheduler;

namespace TestSheduleTask
{
    class Program
    {
        static void Main(string[] args)
        {
            ScheduledTasks st = new ScheduledTasks();
            Task task1 = st.CreateTask("task1");
           
            DateTime nextTime = DateTime.Now.AddMinutes(1);
            DailyTrigger trigger = new DailyTrigger(16, 0);
           
            task1.ApplicationName = "NotePad.exe";
           
            Task task2 = st.CreateTask("task2");
            //RunOnceTrigger trigger2 = new RunOnceTrigger(nextTime);

            //从创建时间开始每个月的第

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过编写 Windows Service 来实现定时每天定点执行任务。下面是一些实现步骤: 1. 创建一个 Windows Service 项目。 2. 在 Service1.cs 文件,重写 OnStart 和 OnStop 方法。 3. 在 OnStart 方法,创建一个 Timer 对象并设置它的间隔和启动时间,然后注册 Elapsed 事件。 4. 在 Elapsed 事件编写执行任务的代码。 5. 在 OnStop 方法释放 Timer 对象。 下面是一个示例代码: ```csharp public partial class Service1 : ServiceBase { private Timer timer; public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { // 创建 Timer 对象 timer = new Timer(); // 设置间隔和启动时间 timer.Interval = 24 * 60 * 60 * 1000; // 24 小时 timer.Enabled = true; timer.StartTime = DateTime.Today.AddHours(2); // 每天凌晨 2 点执行 // 注册 Elapsed 事件 timer.Elapsed += new ElapsedEventHandler(OnTimerElapsed); } protected override void OnStop() { // 释放 Timer 对象 if (timer != null) { timer.Enabled = false; timer.Stop(); timer.Dispose(); timer = null; } } private void OnTimerElapsed(object sender, ElapsedEventArgs e) { // 执行任务的代码 // TODO: 在此处编写你的任务代码 } } ``` 需要注意的是,Windows Service 项目需要安装并启动服务,才能够运行。可以通过以下步骤来安装和启动服务: 1. 打开命令提示符,以管理员身份运行。 2. 切换到 Windows Service 项目的输出目录。 3. 执行以下命令来安装服务:`installutil.exe Service1.exe`。 4. 执行以下命令来启动服务:`net start Service1`。 在每次修改代码后,需要重新安装和启动服务才能够生效。可以通过以下命令来卸载服务:`installutil.exe /u Service1.exe`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值