文档详情

VBNet创建与安装Windows服务.doc

发布:2017-01-06约6.99千字共6页下载文档
文本预览下载声明
用VB.NET创建与安装Windows服务 一、引言: 在Windows NT、Windows 2000、Windows XP等多任务操作系统中,常常需要运行后台操作的应用程序,它们被称为Windows服务(NT服务)。由Windows服务执行的任务一般不需要用户界面(其控制台界面除外),可由用户手动启动或随计算机启动,并在后台持续运行。像IIS、SQL Server以及很多反病毒软件都使用Windows服务。 二、Windows服务的特点: 1、Windows服务不依赖用户登录,可以在计算机启动时开始运行,当然也可以手工启动。 2、Windows服务需要一个特定的安装过程,使之运行在特定的环境中,双击编译好的EXE文件无法运行它。 3、Windows服务一般没有用户界面,但可以有一个控制界面以操纵服务的启动、停止或设置参数。 4、用户可以通过“控制面板”——“管理工具”——“服务”来查看并管理系统中的Windows服务,如图1所示。 三、创建Windows服务: 在.NET推出以前,Windows服务一般都用C++创建。虽然VB利用第三方工具集也可以创建Windows服务,但线程和安装的问题使开发人员多数不愿使用这种方式。 在.NET中,上述复杂的操作都被封装在.NET Framework类中,任何.NET语言都可以用于创建Windows服务,且十分方便。 创建Windows服务需要用到下面几个类: System.ServiceProcess.ServiceBase类:实现服务的基类,包含以下几个重要事件。 事件 说明 OnStart 服务启动时发生,初始化代码一般放在该事件中 OnStop 服务停止时发生,结束代码放在该事件中 OnContinue 服务暂停后继续运行时发生 OnPause 服务暂停时发生 OnShutdown 关闭操作系统时发生 System.ServiceProcess.ServiceProcessInstaller类:用于服务的安装,包含了服务安装时所需要的一些必要信息。 属性 说明 Account 运行服务的帐户类型,一般用最高权限的LocalSystem;如使用User,则必须提供用户名和密码 Username 用户名,如Account设为User则要用到本属性 Password 密码,如Account设为User则要用到本属性 System.ServiceProecss.ServiceInstaller类:与安装程序InstallUtil.exe交互,提供安装所需的部分信息。 属性 说明 DisplayName 显示在Server Explorer中的名称 StartType 服务的启动方式,可使用Autimatic(自动)、Manual(手动) 下面,我们创建一个文件监视Windows服务。给它指定一个目录后,该服务能监视目录内任何文件的新建、修改、更名、删除等操作,并将信息写入到系统事件日志中。用户通过“控制面板”——“管理工具”——“事件查看器”——“应用程序”即可了解上述信息。 1、新建一“Windows服务”类型的工程,将该工程命名为FileWatcher。 2、在“解决方案资源管理器”中,将默认的Service1.vb更名为FileWatcher.vb;在“属性”窗口中将(Name)和ServiceName属性均改为FileWatcher。右击工程,在“属性”中将“启动对象”改为FileWatcher。 3、在代码设计器中,展开系统自动生成的代码,找到如下语句: ServicesToRun = New System.ServiceProcess.ServiceBase() {New Service1()} 将行末的Service1该为FileWatcher。 4、接下来,在代码设计器中加入如下代码: Imports System.ServiceProcess Imports System.IO 引用命名空间 Public Class FileWatcher Inherits System.ServiceProcess.ServiceBase #Region 组件设计器生成的代码 Private MyFileSystemWatcher As New FileSystemWatcher Private MyEventLog As New EventLog 分别建立FileSystemWatcher类和EventLog类的实例,MyFileSystemWatcher用于监视指定目录内文件的变化,MyEventLog将事件信息写入日志中 Protected Overrides Sub O
显示全部
相似文档