*本文非博主原創,收藏時未保存原作者文章鏈接,見諒,版權歸原作者所有。本文只稍作修改。
1、新建C# Windows服務:windows service工程
3、新建了C# Windows服務之後,還要設置該服務運行的周期,左側的ToolBox中有兩個timmer,一個在組件下,一個在windows form下,可惜這兩個都不能用,我們要手工新建一個timmer,並設置其屬性和事件。
= System.Timers.Timer(); t.Elapsed += System.Timers.ElapsedEventHandler(TimeElapse); t.AutoReset = ; t.Enabled = ; = FileStream(= + DateTime.Now.ToString() +
4、服務編寫之後,還不能由SCM(服務控制管理器)進行管理,需要給該服務添加裝載器。在Service1.cs的設計視圖,點擊右鍵,選擇“添加裝載器”,系統默認就會添加ProjectInstaller.cs這個類。
5、添加該類後,在該類的設計視圖上可看到serviceInstaller1和serviceProcessInstaller1,分別設置其屬性。
設置serviceInstaller1的運行方式為手動或者自動
設置serviceInstaller1的ServiceName,設置為什麼,服務列表中就顯示什麼
設置serviceProcessInstaller1的運行賬號為LocalSystem
6、編譯該工程
7、使用vs自帶的命令行工具,運行installutil 編譯生成的exe
8、在系統的服務中可看到我們創建的服務。
需要注意的是:
如果你修改了這個服務,路徑沒有變化的話是不需要重新注冊服務的,如果路徑發生了變化,需要先卸載這個服務InstallUtil.exe /u參數,然後再重新安裝這個服務,不能直接安裝。還有就是C# Windows服務是沒有界面的,不要企圖用控制的輸出方式來輸出一些信息,你只能添加一個EventLog,通過WriteEntry()來寫日志。