日期:2011-05-19 浏览次数:20482 次
C#如何定时执行程序(例如每天晚上12:00)
--------------------------------------------------------------------------------
类似于java里面的Timer.Schedule TimeTask
谢谢
--------------------------------------------------------------------------------
c#也有timer~~
System.Timer
或者是 System.Theading.Timer
具体用法可以查询下msdn
--------------------------------------------------------------------------------
使用Timer
System.Timers.Timer aTimer = new System.Timers.Timer();
public RechargeFrm()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
components=null;
AutoTime.SelectedIndex=0;
aTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
// Create a new Timer with Interval set to 3 seconds.
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
--------------------------------------------------------------------------------
// Only raise the event the first time Interval elapses.
aTimer.AutoReset = true;
aTimer.Enabled = flag;
//aTimer.Interval=Int32.Parse(AutoTime.SelectedItem.ToString())*300;//9s
aTimer.Interval=Int32.Parse(AutoTime.SelectedItem.ToString())*1000*60;//30m
//Console.WriteLine("Press \'q\' to quit the sample.");
//while(Console.Read()!='q');
--------------------------------------------------------------------------------
c#也有Timer,另外也可以用Thread,或者windows的计划任务
private Timer _timer;
private int _Interval=30000;
_timer = new Timer();
_timer.Enabled = true;
_timer.Interval = _Interval;
_timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
//todo something
}
--------------------------------------------------------------------------------
最简便的方法就是将定时执行交给Windows的计划任务来完成;
或者实现一个Windows服务
--------------------------------------------------------------------------------
Windows的计划任务是个不错的方法!
--------------------------------------------------------------------------------
那如何指定每天晚上12:00执行?
或者说晚上12:00第一次执行,然后每3小时执行一次
--------------------------------------------------------------------------------
我现在需要指定 第一次程序执行的具体时间
--------------------------------------------------------------------------------
上面的方法都是延迟在什么时候发生的,楼主要的是”按时“执行的,
UP一下。
--------------------------------------------------------------------------------
用计划任务不就可以啦?自己写的话要写windows服务。
--------------------------------------------------------------------------------
还是timer控制比较好吧.
--------------------------------------------------------------------------------
ohyear()理解我的意思了
计划任务根本不可行,因为我的应用是asp.net,而且是放在虚拟主机上
timer控制只能实现定时执行,不能指定具体开始执行的时间,例如晚上12:00开始执行
--------------------------------------------------------------------------------
stringCurrTime=System.DateTime.Now.ToShortTimeString();
string s="12:00";
if( CurrTime==s)
&nb