国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 怀来县| 安龙县| 贡嘎县| 迁西县| 泸溪县| 长岛县| 桐梓县| 漠河县| 十堰市| 临湘市| 南丰县| 永城市| 垫江县| 仁寿县| 上犹县| 南乐县| 阳信县| 长汀县| 阳城县| 梁河县| 双鸭山市| 余干县| 甘南县| 赤城县| 密山市| 河南省| 当阳市| 马尔康县| 绥中县| 郎溪县| 正阳县| 南丹县| 大新县| 瑞昌市| 长汀县| 华阴市| 南阳市| 石首市| 咸宁市| 沂水县| 交口县|