主頁 > 知識庫 > Windows的服務功能初探介紹

Windows的服務功能初探介紹

熱門標簽:電銷機器人哪家最好 批量地址在地圖標注 辦理400電話_聯(lián)通 百度地圖標注內(nèi)容跳轉(zhuǎn)事件 外呼系統(tǒng)電銷術語 雙廊地圖標注 宜賓回撥外呼系統(tǒng) 邢臺代理外呼系統(tǒng) 科大Ai人工智能電銷機器人
在Windows中,對于一些不需要顯示圖形界面的應用程序,我們可以把它做成Windows服務,讓它在后臺運行,例如一些文件監(jiān)視服務等。一臺電腦中的Windows服務可以在“計算機-管理-服務應用程序-服務”中看到,如圖:

在這里,我們可以啟動或停止一個服務。
創(chuàng)建服務:
下面我們來創(chuàng)建一個文件監(jiān)視功能的Windows服務。
用VS新建一個項目,模版選擇“Windows服務”,在服務代碼中會有兩個方法:OnStart與OnStop,分別是服務的啟動時的執(zhí)行代碼與服務停止時的執(zhí)行代碼。
public partial class WatchService : ServiceBase
    {
        public WatchService()
        {
            InitializeComponent();
        }
        FileSystemWatcher watcher;
        /// summary>
        /// 服務開始時執(zhí)行代碼
        /// /summary>
        /// param name="args">/param>
        protected override void OnStart(string[] args)
        {   
            WriteLog("服務開始");
            string path = @"D:\text";
            watcher = new FileSystemWatcher(path);
            // 監(jiān)視新增文件
            watcher.NotifyFilter = NotifyFilters.FileName;
            //同時監(jiān)視子目錄
            watcher.IncludeSubdirectories = true;
            watcher.Created += new FileSystemEventHandler(watcher_Changed);
            watcher.EnableRaisingEvents = true;
        }
        /// summary>
        /// 服務停止時執(zhí)行代碼
        /// /summary>
        protected override void OnStop()
        {
            WriteLog("服務停止");
        }
        private void watcher_Changed(object sender, FileSystemEventArgs e)
        {
            try
            {
                WriteLog(e.Name + " " + e.ChangeType);
            }
            catch (Exception ex)
            {
                WriteLog(ex.ToString());
            }
        }   
        /// summary>
        /// 寫日志的方法
        /// /summary>
        /// param name="msg">/param>
        private void WriteLog(string msg)
        {
            string path = @"D:\log.txt";
            using (StreamWriter sw = new StreamWriter(path, true))
            {
                sw.WriteLine(DateTime.Now.ToString() + " " + msg);
            }
        }
    }
 發(fā)布服務:
轉(zhuǎn)到服務的界面窗體,點擊右鍵,選擇添加安裝程序,會出現(xiàn)一個ProjectInstaller.cs。在其界面窗體中,選擇serviceInstaller1,右鍵屬性,可以設置服務啟動方式,服務名稱(服務名稱不能與其它Windows服務名稱重名),服務描述,服務顯示名稱等,如圖:

  另一個serviceProcessInstaller1的屬性可以設置服務的運行賬戶,如圖:    

  完成這些設置后,重新生成服務,打開VS2010命令行工具,以管理員身份運行,輸入命令InstallUtil.exe+服務程序地址,如InstallUtil.exe “D:\Service\FileWatchDemo.exe” 提示安裝完成后,就可以在服務管理中看到剛剛安裝的服務了。刪除服務: InstallUtil.exe /u +"服務地址" InstallUtil.exe /u "D:\Service\FileWatchDemo.exe"   或 SC delete +服務名稱,如 sc delete FileWatchService     作者 Gyoung

標簽:烏海 阜新 麗江 滁州 德州 重慶 襄陽 天水

巨人網(wǎng)絡通訊聲明:本文標題《Windows的服務功能初探介紹》,本文關鍵詞  Windows,的,服務功能,初探,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《Windows的服務功能初探介紹》相關的同類信息!
  • 本頁收集關于Windows的服務功能初探介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章