Windows的服務(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
相關(guān)文章
電腦如何清除運(yùn)行窗口歷史記錄? Windows系統(tǒng)清除運(yùn)行窗口歷史記錄的技
winodws的命令行界面是一個(gè)不錯(cuò)的快捷方式,我們只需要通過(guò)"win+r"就可以調(diào)用運(yùn)行命令,隨著時(shí)間的累積,我們這里會(huì)積累下不少歷史命令,有泄露隱私的風(fēng)險(xiǎn),所以2025-04-17電腦鎖屏壁紙?jiān)趺垂潭ú蛔? Windows系統(tǒng)鎖定桌面背景圖的方法
最近就有不少用戶想要鎖定電腦的桌面背景圖,但不清楚具體如何操作,其實(shí)方法非常簡(jiǎn)單,詳細(xì)請(qǐng)看下文介紹2025-04-17怎么關(guān)閉windows索引器? Windows系統(tǒng)禁用索引器回退功能的技巧
使用Windows系統(tǒng)中的搜索功能都是在索引功能的基礎(chǔ)上建立的,因此,若想要加快搜索索引速度,就要把系統(tǒng)中的索引器回退功能設(shè)置為禁用,詳細(xì)請(qǐng)看下文介紹2025-04-17微軟應(yīng)用商店無(wú)法打開(kāi)怎么辦? 0x80248014錯(cuò)誤的原因分析與解決方案
近有不少小伙伴反映,Windows 10自帶的微軟商店怎么都打不開(kāi),顯示0x80248014錯(cuò)誤錯(cuò)誤代碼,下面我們就來(lái)看看詳細(xì)解決方案2025-04-16Windows系統(tǒng)如何關(guān)閉自動(dòng)維護(hù)功能? 關(guān)閉自動(dòng)維護(hù)輕松提升電腦性能
最近有不少用戶想關(guān)閉其中的自動(dòng)維護(hù)功能,但不清楚具體如何操作,下面我們就來(lái)看看Windows系統(tǒng)關(guān)閉自動(dòng)維護(hù)功能的操作方法2025-04-15微軟發(fā)布多個(gè) OOB 更新: 用于修復(fù) Active Directory 組策略 Bug
微軟發(fā)布多個(gè) OOB 更新用于修復(fù) Active Directory 組策略 Bug,該問(wèn)題具體表現(xiàn)為:當(dāng)設(shè)備已啟用 "審核登錄 / 注銷事件" 功能且實(shí)際生效時(shí),本地組策略編輯器或本2025-04-14定期掃描病毒功能有什么用? Windows系統(tǒng)開(kāi)啟定期掃描病毒功能的技巧
定期掃描病毒功能可以很好的幫助我們電腦定義清理病毒,很多小伙伴都不知道在那里設(shè)置進(jìn)行使用,該怎么開(kāi)啟這個(gè)功能呢?詳細(xì)請(qǐng)看下文介紹2025-04-01Windows如何設(shè)置麥克風(fēng)增強(qiáng)? Windows系統(tǒng)麥克風(fēng)權(quán)限開(kāi)啟全攻略
麥克風(fēng)功能作為日常溝通和娛樂(lè)的重要工具,其表現(xiàn)尤為關(guān)鍵,然而,不少windows用戶發(fā)現(xiàn)麥克風(fēng)的聲音偏小,影響了使用體驗(yàn),下面我們就來(lái)看看Windows系統(tǒng)設(shè)置麥克風(fēng)增強(qiáng)功能2025-04-01提升性能30%! Windows系統(tǒng)關(guān)閉VBS的簡(jiǎn)單方法
關(guān)閉VBS功能可以釋放部分系統(tǒng)資源,提高系統(tǒng)性能和游戲流暢度,windows系統(tǒng)該怎么關(guān)閉vbs功能呢?下面我們就來(lái)看看詳細(xì)教程2025-04-01Windows Server 2025安裝 Hyper-V Docker 容器的圖文教程
Hyper-V 容器是 Windows Server 2025 中的一項(xiàng)強(qiáng)大功能,今天我們就來(lái)介紹如何在 Windows Server 2025 上安裝、配置和運(yùn)行容器主機(jī),并下載運(yùn)行一個(gè) IIS 容器2025-03-27