Windows服务程序时钟调用
1?????? 大概思路
- 設(shè)計(jì)服務(wù)程序
- 創(chuàng)建服務(wù)
- 安裝必備組件
- 編寫(xiě)Service1
- 運(yùn)行效果
?
2?????? 設(shè)計(jì)服務(wù)程序
創(chuàng)建服務(wù)程序,通過(guò)添加System.Timers時(shí)鐘進(jìn)行定時(shí)向Wecome.txt寫(xiě)入文本。
3?????? 創(chuàng)建服務(wù)
創(chuàng)建項(xiàng)目、安裝項(xiàng)目
(通過(guò)工具箱添加System.Timers組件,系統(tǒng)時(shí)鐘組件,不同于System.Windows.Forms)
?
4?????? 安裝必備組件
5?????? 編寫(xiě)Service1
?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text;using System.IO;namespace WindowsServiceDemo {public partial class Service1 : ServiceBase{public Service1(){InitializeComponent();}/// <summary>/// 標(biāo)識(shí)開(kāi)始/// </summary>private string flag = string.Empty;/// <summary>/// 允許時(shí)鐘開(kāi)始/// </summary>private bool isBegin = true;protected override void OnStart(string[] args){flag = "開(kāi)始時(shí)間:";this.timer1.Enabled = true;}protected override void OnStop(){}/// <summary>/// 9000毫秒調(diào)度一次,即9秒高度一次/// create by zhyongfeng in 2014-03-26/// </summary>/// <param name="sender">object</param>/// <param name="e"> System.Timers.ElapsedEventArgs</param>private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e){//開(kāi)始if (!isBegin)return;isBegin = false;try{FileStream nFile = new FileStream(System.AppDomain.CurrentDomain.BaseDirectory + "Wecome.txt", FileMode.Append, FileAccess.Write);StreamWriter writer = new StreamWriter(nFile);writer.WriteLine(flag + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));writer.WriteLine("Welcome to Write:" + DateTime.Now.ToFileTimeUtc().ToString());writer.WriteLine();writer.Close();LogUtility.Logging(Process.GetCurrentProcess().MainModule.ModuleName, Process.GetCurrentProcess().MachineName, Process.GetCurrentProcess().MainModule.ModuleName, LogUtility.EVENT.EVENT_WARNING, "新增了");}catch{}isBegin = true;}} }?
6?????? 運(yùn)行效果
開(kāi)始->運(yùn)行->services.msc,可見(jiàn)如下圖
?
開(kāi)始->運(yùn)行->eventvwr.msc,可見(jiàn)如下圖
?
7?????? 總結(jié)
Windows服務(wù)可通過(guò)修改以下屬性,通過(guò)System.Timers組件達(dá)到自動(dòng)控制的功能,針對(duì)一些運(yùn)行周期長(zhǎng)的數(shù)據(jù)可通過(guò)Windows服務(wù)處理(如通過(guò)捕捉大量數(shù)據(jù)收發(fā)郵件等)。
serviceInstaller1屬性值說(shuō)明
Manual:服務(wù)安裝后,必須手動(dòng)啟動(dòng)。
Automatic :每次計(jì)算機(jī)重新啟動(dòng)時(shí),服務(wù)都會(huì)自動(dòng)啟動(dòng)。
Disabled:? 服務(wù)無(wú)法啟動(dòng)。
?
源代碼下載:
http://files.cnblogs.com/yongfeng/WindowsServiceDemo.rar
PDF下載:
Windows服務(wù)程序時(shí)鐘調(diào)用.pdf
Windows服務(wù)創(chuàng)建文檔.pdf
from:?http://www.cnblogs.com/yongfeng/p/3637901.html
總結(jié)
以上是生活随笔為你收集整理的Windows服务程序时钟调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++ WINDOWS API 如何使用
- 下一篇: OpenCV之core 模块. 核心功能