| 如何知道某一个NT服务是不是在运行,如果它未运行,如何启动它? 检测NT某一服务是否运行可以按下面的步骤执行: 获得ServiceControl Manager的句柄: SC_HANDLE shServiceManager = OpenSCManager( NULL,SERVICES_ACTIVE_DATABASE,SC_MANAGER_ALL_ACCESS); 然后获得用户希望检查的服务的句柄:
有一个预定义的结构,在调用之前最好声明它的一个实例: SERVICE_STATUS ssStatus; 这个结构个个域的作用大家自己看联机帮助了,只是为了检查某个服务是否运行,只要检查dwCurrentState就可以了: if ( (QueryServiceStatus( shMyService, &ssStatus)) == 0 ) if (ssStatus.dwCurrentState == SERVICE_STOPPED) |