国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Windows > 正文

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

2019-11-28 04:00:05
字體:
供稿:網(wǎng)友
在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ù):
下面我們來創(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ù)開始時(shí)執(zhí)行代碼
        /// </summary>
        /// <param name="args"></param>
        protected override void OnStart(string[] args)
        {   
            WriteLog("服務(wù)開始");
            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ù),打開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
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宣威市| 中方县| 宜都市| 辽阳县| 密云县| 施甸县| 衡山县| 文化| 甘德县| 精河县| 绥德县| 繁昌县| 三穗县| 海南省| 明星| 颍上县| 湖北省| 沁源县| 德州市| 渝中区| 南开区| 广宗县| 于田县| 寻乌县| 普格县| 昌图县| 永川市| 陈巴尔虎旗| 如东县| 乌鲁木齐县| 绿春县| 克什克腾旗| 托克逊县| 醴陵市| 峨边| 青海省| 内黄县| 射阳县| 会同县| 慈溪市| 高清|