主頁(yè) > 知識(shí)庫(kù) > Windows的服務(wù)功能初探介紹

Windows的服務(wù)功能初探介紹

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

在這里,我們可以啟動(dòng)或停止一個(gè)服務(wù)。
創(chuàng)建服務(wù):
下面我們來(lái)創(chuàng)建一個(gè)文件監(jiān)視功能的Windows服務(wù)。
用VS新建一個(gè)項(xiàng)目,模版選擇“Windows服務(wù)”,在服務(wù)代碼中會(huì)有兩個(gè)方法:OnStart與OnStop,分別是服務(wù)的啟動(dòng)時(shí)的執(zhí)行代碼與服務(wù)停止時(shí)的執(zhí)行代碼。
public partial class WatchService : ServiceBase
    {
        public WatchService()
        {
            InitializeComponent();
        }
        FileSystemWatcher watcher;
        /// summary>
        /// 服務(wù)開(kāi)始時(shí)執(zhí)行代碼
        /// /summary>
        /// param name="args">/param>
        protected override void OnStart(string[] args)
        {   
            WriteLog("服務(wù)開(kāi)始");
            string path = @"D:\text";
            watcher = new FileSystemWatcher(path);
            // 監(jiān)視新增文件
            watcher.NotifyFilter = NotifyFilters.FileName;
            //同時(shí)監(jiān)視子目錄
            watcher.IncludeSubdirectories = true;
            watcher.Created += new FileSystemEventHandler(watcher_Changed);
            watcher.EnableRaisingEvents = true;
        }
        /// summary>
        /// 服務(wù)停止時(shí)執(zhí)行代碼
        /// /summary>
        protected override void OnStop()
        {
            WriteLog("服務(wù)停止");
        }
        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ā)布服務(wù):
轉(zhuǎn)到服務(wù)的界面窗體,點(diǎn)擊右鍵,選擇添加安裝程序,會(huì)出現(xiàn)一個(gè)ProjectInstaller.cs。在其界面窗體中,選擇serviceInstaller1,右鍵屬性,可以設(shè)置服務(wù)啟動(dòng)方式,服務(wù)名稱(服務(wù)名稱不能與其它Windows服務(wù)名稱重名),服務(wù)描述,服務(wù)顯示名稱等,如圖:

  另一個(gè)serviceProcessInstaller1的屬性可以設(shè)置服務(wù)的運(yùn)行賬戶,如圖:    

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

標(biāo)簽:烏海 阜新 麗江 滁州 德州 重慶 襄陽(yáng) 天水

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