手机
当前位置:查字典教程网 >操作系统 >Windows系列 >Windows的服务功能初探介绍
Windows的服务功能初探介绍
摘要:在Windows中,对于一些不需要显示图形界面的应用程序,我们可以把它做成Windows服务,让它在后台运行,例如一些文件监视服务等。一台电...

在Windows中,对于一些不需要显示图形界面的应用程序,我们可以把它做成Windows服务,让它在后台运行,例如一些文件监视服务等。一台电脑中的Windows服务可以在“计算机-管理-服务应用程序-服务”中看到,如图:

Windows的服务功能初探介绍1

在这里,我们可以启动或停止一个服务。

创建服务:

下面我们来创建一个文件监视功能的Windows服务。

用VS新建一个项目,模版选择“Windows服务”,在服务代码中会有两个方法:OnStart与OnStop,分别是服务的启动时的执行代码与服务停止时的执行代码。

public partial class WatchService : ServiceBase

{

public WatchService()

{

InitializeComponent();

}

FileSystemWatcher watcher;

/// <summary>

/// 服务开始时执行代码

/// </summary>

/// <param name="args"></param>

protected override void OnStart(string[] args)

{

WriteLog("服务开始");

string path = @"D:text";

watcher = new FileSystemWatcher(path);

// 监视新增文件

watcher.NotifyFilter = NotifyFilters.FileName;

//同时监视子目录

watcher.IncludeSubdirectories = true;

watcher.Created += new FileSystemEventHandler(watcher_Changed);

watcher.EnableRaisingEvents = true;

}

/// <summary>

/// 服务停止时执行代码

/// </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);

}

}

}

发布服务:

转到服务的界面窗体,点击右键,选择添加安装程序,会出现一个ProjectInstaller.cs。在其界面窗体中,选择serviceInstaller1,右键属性,可以设置服务启动方式,服务名称(服务名称不能与其它Windows服务名称重名),服务描述,服务显示名称等,如图:

Windows的服务功能初探介绍2

另一个serviceProcessInstaller1的属性可以设置服务的运行账户,如图:

Windows的服务功能初探介绍3

完成这些设置后,重新生成服务,打开VS2010命令行工具,以管理员身份运行,输入命令InstallUtil.exe+服务程序地址,如InstallUtil.exe “D:ServiceFileWatchDemo.exe” 提示安装完成后,就可以在服务管理中看到刚刚安装的服务了。删除服务: InstallUtil.exe /u +"服务地址" InstallUtil.exe /u "D:ServiceFileWatchDemo.exe" 或 SC delete +服务名称,如 sc delete FileWatchService 作者 Gyoung

【Windows的服务功能初探介绍】相关文章:

Win10系统重置功能的快速开启方法

Win8怎么用自带的GeoLocation地理定位功能?

Windows7系统提示指定的网络名不可再用的解决方法

Win7系统删除windows media center的图文教程

Win10预览版14328使用Ink Workspace书写功能介绍

win7系统启动ICS服务失败的解决方法

Win10 RS2红石版最受期待的五大功能猜想

Win10 Mobile红石2功能曝光 新增通知音效

Win7操作系统的待机密码设置方法

Win10 Mobile快速预览版14356新增哪些功能? 更新内容汇总

精品推荐
分类导航