C#如何定时执行程序

#1楼 得分:5回复于:2005-03-16 09:29:12
c#也有timer~~ 
System.Timer 
或者是   System.Theading.Timer 
具体用法可以查询下msdn
 
#2楼 得分:8回复于:2005-03-16 09:30:45
使用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   调用后添加任何构造函数代码 
// 
}
 
#3楼 得分:8回复于:2005-03-16 09:32:25
//   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 ');
 
#4楼 得分:5回复于:2005-03-16 09:32:36
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 


 
#5楼 得分:2回复于:2005-03-16 09:33:14
最简便的方法就是将定时执行交给Windows的计划任务来完成; 
或者实现一个Windows服务
 
  • Tomgus用户头像
  • Tomgus
  • (小桥流水)
  • 等 级:
#6楼 得分:1回复于:2005-03-16 09:37:33
Windows的计划任务是个不错的方法!
 
#7楼 得分:0回复于:2005-03-16 09:49:35
那如何指定每天晚上12:00执行? 

或者说晚上12:00第一次执行,然后每3小时执行一次
 
#8楼 得分:0回复于:2005-03-16 09:52:28
我现在需要指定   第一次程序执行的具体时间
 
  • ohyear用户头像
  • ohyear
  • (From Now On...)
  • 等 级:
#9楼 得分:5回复于:2005-03-16 10:02:10
上面的方法都是延迟在什么时候发生的,楼主要的是”按时“执行的, 

UP一下。 
 
  • 3gold用户头像
  • 3gold
  • (新丁)
  • 等 级:
#10楼 得分:1回复于:2005-03-16 10:13:59
用计划任务不就可以啦?自己写的话要写windows服务。
 
  • pc_csharp用户头像
  • pc_csharp
  • (帮助别人,帮助自己)
  • 等 级:
#11楼 得分:1回复于:2005-03-16 10:39:49
还是timer控制比较好吧. 
 
#12楼 得分:0回复于:2005-03-16 11:16:41
ohyear()理解我的意思了 
计划任务根本不可行,因为我的应用是asp.net,而且是放在虚拟主机上 
timer控制只能实现定时执行,不能指定具体开始执行的时间,例如晚上12:00开始执行
 
#13楼 得分:10回复于:2005-03-16 12:39:20
string CurrTime=System.DateTime.Now.ToShortTimeString(); 
string   s= "12:00 "; 
if(   CurrTime==s) 
    {     //程序执行代码 
    } 
 
#14楼 得分:14回复于:2005-03-16 13:01:58
xjpeng(海风)   的改一下: 
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 

在todo   something那里写下面的: 
string CurrTime=System.DateTime.Now.ToShortTimeString(); 
string   s= "12:00 "; 
if(   CurrTime==s) 
    {     //程序执行代码 
    } 
这样应该可以了吧?
 
  • nga96用户头像
  • nga96
  • (因为我笨,所以努力。陈勇华)
  • 等 级:
#15楼 得分:1回复于:2005-03-16 13:13:27
UP
 
#16楼 得分:1回复于:2005-03-16 13:17:00
mark
 
  • lalac用户头像
  • lalac
  • (水月流影)
  • 等 级:
#17楼 得分:1回复于:2005-03-16 13:30:34
最简便的方法就是将定时执行交给Windows的计划任务来完成; 
或者实现一个Windows服务 

---------------------------------------------------------- 
how   to   implement   the     windows   servic? 

My   email   is:   lalac@163.com 
please   contact   me   if   you   know   it! 
Thank   you
 
#18楼 得分:1回复于:2005-03-16 13:57:21
学习
 
#19楼 得分:1回复于:2005-03-16 14:06:01
得到时间的办法可以执行 
要是此时c#程序已经关闭了呢?怎么得到时间 
 
#20楼 得分:1回复于:2005-03-16 14:06:27
还是只能加入计划任务吧
 
#21楼 得分:0回复于:2005-03-16 14:50:22
egxsun(): 
这样子可行是可行,程序看上去总是有点土 

看来.net的类库里面没提供类似于java的方法
 
  • veigd用户头像
  • veigd
  • (里里外外)
  • 等 级:
#22楼 得分:1回复于:2005-03-16 14:51:11
关注!
 
#23楼 得分:1回复于:2005-03-17 10:53:44
关注。。。 

同样的问题: 
          如果机器程序都关闭了,system.time还能取得吗?
 
#24楼 得分:1回复于:2005-03-17 12:22:57
up
 
#25楼 得分:1回复于:2005-03-17 14:17:07
asp.net做不了。IIS端不能主动做任何事的。要不你就在自己机器上写个计划任务每天定时去请求那个虚拟主机一下,让它执行事先写好的任务。 
所谓定时12点一般也不过是用Timer,隔个几秒钟去问一下系统到没到12点啊?到了就执行这种。
 
#26楼 得分:5回复于:2005-03-17 14:32:11
www.moblog.net.cn/sunshine.com这个软件定时任务   功能   而且是   不用编译入程序   直接用反射调用你的dll
 
#27楼 得分:1回复于:2005-03-17 23:20:53
up
 
#28楼 得分:1回复于:2005-03-17 23:50:52
MSDN
 
#29楼 得分:1回复于:2005-03-18 08:17:07
直接用C#自己的Timer类就完全可以实现的啊。我已经很好的控制了,   而且是很复杂的控制。没有问题的。
 
#30楼 得分:1回复于:2005-03-18 08:32:52
调用外部命令我知道~用at   命令 
具体用法你加个/?   看下帮助! 
 
#31楼 得分:1回复于:2005-03-18 08:39:40
虚拟主机吗?asp.net可不行
 
#32楼 得分:1回复于:2005-03-18 08:41:58
关注
 
#33楼 得分:1回复于:2005-03-18 08:46:17
还是做个启动服务
 
  • n007用户头像
  • n007
  • (大木马)
  • 等 级:
#34楼 得分:1回复于:2005-03-18 09:05:30
我一直用Windows计划任务进行自动记费系统的运行!效果很好!
 
#35楼 得分:1回复于:2005-03-18 09:14:08
gz
 
#36楼 得分:1回复于:2005-03-18 09:32:09
控制面板-〉任务计划-〉添加任务-〉选择你的程序,设置时间
 
#37楼 得分:1回复于:2005-03-18 10:09:15
学习
 
#38楼 得分:1回复于:2005-03-18 10:27:18
使用windows自己的东西
 
#39楼 得分:1回复于:2005-03-18 10:36:17
windows   service 
windows   schedule 
sql   dts   job 
...
 
#40楼 得分:10回复于:2005-03-18 11:04:59
最简单的方法~把你要执行的程序语句写在一个事件里面(就象button_onClick),然后用Timer的Tick调用那个事件就可以了~(当然你要给Timer的Interval属性赋上时间它是以毫秒计算的)用Timer的Enabled 
来控制你是否执行你的事件~ 
不知是否对你有帮助~我就是这么用的~呵呵~
 
  • jyj13用户头像
  • jyj13
  • (老蒋想睡觉)
  • 等 级:
#41楼 得分:1回复于:2005-03-18 12:19:15
写到计划任务里面去嘛
 
#42楼 得分:0回复于:2010-05-28 16:01:12
#40楼 得分:10回复于:2005-03-18 11:04:59最简单的方法~把你要执行的程序语句写在一个事件里面(就象button_onClick),然后用Timer的Tick调用那个事件就可以了~(当然你要给Timer的Interval属性赋上时间它是以毫秒计算的)用Timer的Enabled  
来控制你是否执行你的事件~   
 
 
公司简介| 招贤纳士| 广告服务| 银行汇款帐号| 联系方式| 版权声明| 法律顾问| 问题报告
北京创新乐知信息技术有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
 Email:webmaster@csdn.net
Copyright © 1999-2010, CSDN.NET, All Rights Reserved
GongshangLogo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值