1. 新建一個項目,或者從選擇當前解決方案--右鍵-添加--新建項目
2. 選擇(項目類型)Visual C#項目,(模板)Windows 服務,填寫要創建的服務名稱(修改默認的WindowService1成爲你自己的服務名稱),然後按確定按鈕.
3. 資源管理器中默認創建一個WindowsService1的項目,項目下包括一個Service1.cs文件
4. 左側選擇"工具箱"--"組件",拖動一個Timer對象到Service1.cs [設計]這個頁面窗體上.點擊窗體上的Timers1足見,設置其屬性:Interval屬性數字N(例如200毫秒==1秒進行5次操作)
5.雙擊這個Timer1組件填加自己所需要的功能函數
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//本機電腦硬件配置文件
string strFileName=@"c:/ComputerInfo.txt";
string strTest="硬盤信息+顯卡信息+主板信息+聲卡信息+網卡信息+打印機信息";
//判斷傳送文件是否存在.如果不存在則寫入一行測試信息
if (!File.Exists(strFileName))
{
File.CreateText(strFileName);
}
byte[] content=Encoding.UTF8.GetBytes(strTest);
//創建文本文件對象
FileStream fs=new FileStream(strFileName,FileMode.OpenOrCreate,FileAccess.ReadWrite);
//文件中寫入測試數據
fs.Write(content,0,content.Length);
//關閉文件對象
fs.Close();
}
6.添加完相應的函數代碼後,從代碼視圖切換到設計視圖,點鼠標右鍵選擇“添加安裝程序”
7. 然後在當前項目資源管理器中會發現多了一個ProjectInstaller.cs文件,點擊該文件打開ProjectInstaller.cs [設計]窗體.會發現裏面自動有兩個組件"serviceProcessInstaller1"和"serviceInstaller1"
8. 設置serviceInstaller1組件的屬性:ServiceName = MyService(名字自己隨意修改的)和 StartType = Automatic (開機自動運行方式)
9. 設置serviceProcessInstaller1組件的屬性:Account = LocalSystem
10. 選擇當前解決方案,設置方案屬性中的"啓動項目"爲剛纔所添加的項目名稱.按F5運行編譯當前項目,會彈出一個對話框"無法從命令行或者調試器啓動服務,必須首先安裝Windows服務(使用installutil.exe),然後用Server Explorer、Windows服務管理工具或NET START命令啓動它"。錯誤沒有關係,只要當前解決方案/項目文件夾/bin/Debug/文件夾下面多了一個EXE文件就好了.
至此自己需要的服務基本操作已經完成.剩下來的就是編譯.註冊啓動服務了.
11.Windows服務器註冊停止
打開CMD窗口--開始--運行--輸入CMD,回車
註冊服務命令
cd C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322
InstallUtil D:/HardWareServerService.exe
nets tart ComputerService
重新註冊服務
cd C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322
InstallUtil /u d:/HardWareServerService.exe
從您的C# 解決方案下拷貝HardWareServerService.exe文件到D盤HardWareServerService.exe
InstallUtil D:/HardWareServerService.exe
net start ComputerService
其中D:/HardWareServerService.exe可以修改成"您當前的解決方案目錄/項目名稱/bin/Debug/HardWareServerService.exe"
12.啓動剛註冊服務: 顯示桌面-在桌面上右擊“我的電腦”,選擇“管理”就可以打計算機管理控制檯,選擇“服務和應用程序”裏面的“服務”,在右側的服務列表中找到剛註冊的ComputerService服務(默認狀態爲停止),選擇該服務右擊啓動所選擇的ComputerService服務就完成了所有的操作,以後每次開機後就自動啓動運行該服務.
13.註冊後產生的一個問題
機器重新啓動後,發現本機的sql server數據庫連接不上,數據庫服務器沒有啓動,手動啓動後會提示錯誤“SQLServer2000發生錯誤1069--由於登陸失敗而無法啓動服務”。解決方法:開始->管理工具->服務,找到MSSQLSERVER服務,右鍵->屬性->登錄,登陸身份選擇此帳戶:輸入用戶名./Administrator,重新輸入密碼和確認密碼,點確定按鈕返回.問題解決!
C#編寫windows服務程序步驟
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.