第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共7页windowsNT与Windows9x有一个非常重要的区别,即WindowsNT提供了很多功能强大的Service(服务)
这些Service可以随着NT的启动而自启动,也可以让用户通过控制面板启动,还可以被Win32应用程序起停
甚至在没有用户登录系统的情况下,这些Service也能执行
许多FTP、WWW服务器和数据库就是以Service的形式存在于NT上,从而实现了无人值守
就连最新版的“黑客”程序BackOrifice2000也是以Service形式在NT上藏身的
由于Service的编程较复杂,许多开发者想开发自己的Service但往往都望而却步
鉴于此,下面我们就从头到尾来构造一个全新的Service,读者只要在程序中注明的地方加上自己的代码,那么就可以轻松拥有一个自己的Service
在编写Service之前,先介绍一下几个重要的函数:----1
SC_HANDLEOpenSCManager(LPCTSTRlpMachineName,LPCTSTRlpDatabaseName,DWORDdwDesiredAccess)----OpenSCManager函数打开指定计算机上的servicecontrolmanagerdatabase
其中参数lpMachineName指定计算机名,若为空则指定为本机
LpDatabaseName为指定要打开的servicecontrolmanagerdatabase名,默认为空
dwDesiredAccess指定操作的权限,可以为下面取值之一:----SC_MANAGER_ALL_ACCESS//所有权限----SC_MANAGER_CONNECT//允许连接到servicecontrolmanagerdatabase----SC_MANA