Windows服务组件 定时执行代码
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Diagnostics; 6 using System.Linq; 7 using System.ServiceProcess; 8 using System.Text; 9 using System.IO; 10 using System.Threading; 11 12 namespace WindowsService1 13 { 14 public partial class Service1 : ServiceBase 15 { 16 public Service1() 17 { 18 InitializeComponent(); 19 } 20 21 protected override void OnStart(string[] args) 22 { 23 EventLog.WriteEntry("我的服务启动"); 24 writestr("服务启动"); 25 System.Timers.Timer t = new System.Timers.Timer(); 26 t.Interval = 1000; 27 t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed); 28 t.AutoReset = true;//设置是执行一次(false),一直执行(true) 29 t.Enabled = true;//是否执行t.Elapsed 的事件 30 } 31 32 void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 33 { 34 int intHour = e.SignalTime.Hour; 35 int intMinute = e.SignalTime.Minute; 36 int intSecond = e.SignalTime.Second; 37 //if (intHour == 13 && intMinute == 30 && intSecond == 00)//定时设置,判断时分秒 38 //{ 39 try 40 { 41 System.Timers.Timer tt = (System.Timers.Timer)sender; 42 tt.Enabled = false; 43 //我的方法 44 SetInnPoint(); 45 tt.Enabled = true; 46 } 47 catch (Exception ep) 48 { 49 writestr(ep.Message); 50 } 51 //} 52 } 53 public void SetInnPoint() 54 { 55 try 56 { 57 writestr("服务运行"); 58 Thread.Sleep(10000); 59 } 60 catch (Exception e) 61 { 62 writestr(e.Message); 63 } 64 } 65 66 public void writestr(string readme) 67 { 68 StreamWriter sw = new StreamWriter(@"d:/log.txt", true); 69 sw.Write("/r/n事件"+readme+"/r/n操作时间"+System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); 70 sw.Close(); 71 } 72 73 protected override void OnStop() 74 { 75 writestr("服务运行"); 76 EventLog.WriteEntry("我的服务终止"); 77 } 78 } 79 }
安装方法如下:
注册启动服务:
Windows服务器注册停止
打开CMD窗口--开始--运行--输入CMD,回车
注册服务命令
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe D:\HardWareServerService.exe (HardWareServerService为工程的名字)
net start ComputerService (ComputerService是服务的名字)
重新注册服务
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe /u d:\HardWareServerService.exe
从您的C# 解决方案下拷贝HardWareServerService.exe文件到D盘HardWareServerService.exe
InstallUtil.exe D:\HardWareServerService.exe
net start ComputerService
卸载服务
sc delete ComputerService
其中D:\HardWareServerService.exe可以修改成"您当前的解决方案目录\项目名称\bin\Debug\HardWareServerService.exe"
启动刚注册服务:
显示桌面-在桌面上右击“我的电脑”,选择“管理”就可以打计算机管理控制台,选择“服务和应用程序”里面的“服务”,在右侧的服务列表中找到刚注册的
ComputerService服务(默认状态为停止),选择该服务右击启动所选择的ComputerService服务就完成了所有的操作,以后每次开
机后就自动启动运行该服务。