您现在的位置: 精品资料网 >> 行业分类 >> IT行业 >> 资料信息

教你如何建立windows服务程序(doc 8页)

所属分类:
IT行业
文件大小:
88 KB
下载地址:
相关资料:
window,服务程序
教你如何建立windows服务程序(doc 8页)内容简介

教你如何建立windows服务程序内容提要:
windows   NT与Windows   9x有一个非常重要的区别,即Windows   NT提供了很多功能强大的Service(服务)。这些Service可以随着NT的启动而自启动,也可以让用户通过控制面板启动,还可以被Win32应用程序起停。甚至在没有用户登录系统的情况下,这些Service也能执行。许多FTP、WWW服务器和数据库就是以Service的形式存在于NT上,从而实现了无人值守。就连最新版的“黑客”程序Back   Orifice   2000也是以Service形式在NT上藏身的。由于Service的编程较复杂,许多开发者想开发自己的Service但往往都望而却步。鉴于此,下面我们就从头到尾来构造一个全新的Service,读者只要在程序中注明的地方加上自己的代码,那么就可以轻松拥有一个自己的Service。在编写Service之前,先介绍一下几个重要的函数:  

 ----   1.   SC_HANDLE   OpenSCManager(   LPCTSTR   lpMachineName,   LPCTSTR   lpDatabaseName,   DWORD   dwDesiredAccess)  
 ----   OpenSCManager   函数打开指定计算机上的service control manager   database。其中参数lpMachineName指定计算机名,若为空则指定为本机。LpDatabaseName为指定要打开的service   control   manager   database名,   默认为空。dwDesiredAccess指定操作的权限,   可以为下面取值之一:  
 ----   SC_MANAGER_ALL_ACCESS   //所有权限  
 ----   SC_MANAGER_CONNECT   //允许连接到service  control   manager   database  
 ----   SC_MANAGER_CREATE_SERVICE   //允许创建服务对象并把它加入database  
 ----   SC_MANAGER_ENUMERATE_SERVICE   //允许枚举database   中的Service  
 ----   SC_MANAGER_LOCK   //允许锁住database  
 ----   SC_MANAGER_QUERY_LOCK_STATUS   //允许查询database的封锁信息  
 ----   函数执行成功则返回一个指向service   control   manager   database的句柄,失败则返回NULL。注意:WINNT通过一个名为service   control   manager   database的数据库来管理所有的Service,因此对Service的任何操作都应打开此数据库。 


..............................