Windows的服务功能初探介绍

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

在这里,我们可以启动或停止一个服务。
创建服务:
下面我们来创建一个文件监视功能的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服务名称重名),服务描述,服务显示名称等,如图:

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

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

(0)

相关推荐

  • Win7如何关闭卸载Windows Search服务功能

    默认情况下,Windows7附带的一些程序和功能处于打开状态,其中包括Windows Search。此功能带来了快捷方便强大的搜索功能,但可能有人不需要此功能,或者很少用到此功能,或许还有人认为其在后 ...

  • Windows 8新功能Hyper-V介绍

    Windows 8已经出来一段时间了,很多朋友已经在使用这个新操作系统,沉迷于里面的很多新特性,比如新的Modern UI及新的操作方式.新的快速启动机制.IE10.文件管理窗口Explorer新的R ...

  • Win8怎么打开Windows To Go功能有哪些方法

    Win8系统的Windows To Go就是实现把Win8系统下载到U盘上,从而可以随身携带的功能.但是很多人不知道怎么使用这个功能,甚至不知道怎么找到这个功能.所以这里就为大家介绍一下Win8怎么打 ...

  • 支付宝12306公众服务四大功能图文介绍

    操作方法 01 支付宝12306公众服务功能有四大特点,分别是:信息公告.购票贴士.列车服务和交易管理;支付宝12306公众服务功能让你24小时全方位获取铁路12306的信息. 支付宝12306公众服 ...

  • Win10如何关闭Windows Search服务禁用搜索功能

    Windows10系统为方便我们搜索硬盘中的资料,为我们提供了Windows Search服务,通过该服务,我们可以快速的搜索到需要的文件,但现在大部分用户都在使用固态硬盘了,速度有了很大的提升,Wi ...

  • win7系统无法启动windows firewall服务的解决方法

    我们都知道在win7系统防火墙服务中有一项windows firewall服务,该服务对于保护win7系统安全有着重要的作用,在使用win7系统的过程中,很多功能也要依赖防火墙服务启动才能正常使用。不 ...

  • Windows系统常用数据缓存介绍

    什么是缓存?听起来好像很技术范儿,其实就是把用户常用的一些「文件」或其它类型数据给临时存储到了某个地方,在下次需要使用时便可读取和使用.这样 Windows 就可以从固定地点去拿缓存数据,而不必再从原 ...

  • Win10如何关闭Windows Update服务?Win10关闭Windows Update服务的方法

    Windows Update是什么?Windows Update是Windows操作系统自带有的一种自动更新工具,主要为漏洞.驱动.软件等提供升级.一位Win10用户反馈,只要连接网络,系统就会自动安 ...

  • 借助软件 让Windows快速启动功能变得更强大

    我们以往使用的Windows“快速启动”菜单,虽然方便但也有诸多遗憾,例如不支持分组操作,不支持自定义文件夹颜色等.现在,我们可以借助于软件True Launch Bar来弥补这些遗憾,实现功能更加强 ...