2024年3月13日发(作者:)

用Visual C#创建Windows服务程序及参数说明

一.Windows服务介绍:

Windows服务以前被称作NT服务,是一些运行在Windows NT、Windows 2000和

Windows XP等操作系统下用户环境以外的程序。在以前,编写Windows服务程序需要程

序员很强的C或C++功底。然而现在在Visual 下,你可以运用C++或Visual

C#或Visual 很轻松的创建一个Windows服务程序。同样,你还可以运用其

他任何与CLR相容的语言来创建Windows服务程序。本文就向大家介绍如何运用Visual

C#来一步一步创建一个文件监视的Windows服务程序,然后介绍如何安装、测试和调试

该Windows服务程序。

在介绍如何创建Windows服务程序以前,我先向大家介绍一些有关Windows服务的

背景知识。一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的

应用程序。Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击

就能开始运行了,它必须有特定的启动方式。这些启动方式包括了自动启动和手动启动

两种。对于自动启动的Windows服务程序,它们在Windows启动或是重启之后用户登录

之前就开始执行了。只要你将相应的Windows服务程序注册到服务控制管理器(Service

Control Manager)中,并将其启动类别设为自动启动就行了。而对于手动启动的Windows

服务程序,你可以通过命令行工具的NET START 命令来启动它,或是通过控制面板中管

理工具下的服务一项来启动相应的Windows服务程序(见图1)。同样,一个Windows

服务程序也不能像一般的应用程序那样被终止。因为Windows服务程序一般是没有用户

界面的,所以你也要通过命令行工具或是下面图中的工具来停止它,或是在系统关闭时

使得Windows服务程序自动停止。因为Windows服务程序没有用户界面,所以基于用户

界面的API函数对其是没有多大的意义。为了能使一个Windows服务程序能够正常并有

效的在系统环境下工作,程序员必须实现一系列的方法来完成其服务功能。Windows服

务程序的应用范围很广,典型的Windows服务程序包含了硬件控制、应用程序监视、系

统级应用、诊断、报告、Web和文件系统服务等功能。

图1

二.创建Windows服务程序:

在介绍如何创建Windows服务程序以前,我先向大家介绍一下.Net框架下与Windows

服务相关的命名空间和其中的类库。.Net框架大大地简化了Windows服务程序的创建和

控制过程,这要归功于其命名空间中的功能强大的类库。和Windows服务程序相关的命

名空间涉及到以下两个:eProcess和stics。

要创建一个最基本的Windows服务程序,我们只需要运用.Net框架下的

eProcess命名空间以及其中的四个类:ServiceBase、ServiceInstaller、

ServiceProcessInstaller以及ServiceController,其体系结构可见图2。

图2