当前位置:早雪网网络学院编程文档软件工程 → Windows服务程序

Windows服务程序

减小字体 增大字体 作者:未知  来源:从互联网收集整理并转载  发布时间:2005-6-3 0:56:07

有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,

拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程

序的计算机相连都能正常执行,这就是所谓的服务了。

(一)服务的基础知识

Question 1. 什么是服务?它的特征是什么?

  在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个

Win32可执行程序,如果要写一个功能完备且强大的服务,需要熟悉动态连接库

(Dlls)、结构异常处理、内存映射文件、虚拟内存、设备I/O、线程及其同步、

Unicode以及其他的由WinAPI函数提供的应用接口。当然本文讨论的只是建立一

个可以安装、运行、启动、停止的没有任何其他功能的服务,所以无需上述知识

仍可以继续看下去,我会在过程中将理解本文所需要的知识逐一讲解。

  第二要知道的是一个服务决不需要用户界面。大多数的服务将运行在那些被

锁在某些黑暗的,冬暖夏凉的小屋子里的强大的服务器上面,即使有用户界面一

般也没有人可以看到。如果服务提供任何用户界面如消息框,那么用户错过这些

消息的可能性就极高了,所以服务程序通常以控制台程序的形式被编写,进入点

函数是main()而不是WinMain()。

  也许有人有疑问:没有用户界面的话,要怎样设置、管理一个服务?怎样开

始、停止它?服务如何发出警告或错误信息、如何报告关于它的执行情况的统计

数据?这些问题的答案就是服务能够被远程管理,Windows NT/2000提供了大量

的管理工具,这些工具允许通过网络上的其它计算机对某台机器上面的服务进行

管理。比如Windows 2000里面的“控制台”程序(mmc.exe),用它添加“管理单

元”就可以管理本机或其他机器上的服务。

Question 2. 服务的安全性…

  想要写一个服务,就必须熟悉Win NT/2000的安全机制,在上述操作系统之

中,所有安全都是基于用户的

[数据载入中...] [返回上一页] [打 印]