OpenService 打开一个已经存在的服务

  1. SC_HANDLE WINAPI OpenService(
  2. _In_ SC_HANDLE hSCManager,
  3. _In_ LPCTSTR lpServiceName,
  4. _In_ DWORD dwDesiredAccess
  5. );
函数作用:打开一个已经存在的服务
参数:
1. hSCManager:SCM数据库句柄;OpenSCManager
2. lpServiceName:要打开服务的名字,这和CreateService形参lpServiceName一样,不是服务显示名称。
3. dwDesiredAccess:服务权限
 
返回值:
成功,返回服务句柄;失败返回NULL,可以通过GetLastError获取错误码。
Return codeDescription
ERROR_ACCESS_DENIED

The handle does not have access to the service.

ERROR_INVALID_HANDLE

The specified handle is invalid.

ERROR_INVALID_NAME

The specified service name is invalid.

ERROR_SERVICE_DOES_NOT_EXIST

The specified service does not exist.

说明:
(1)返回的句柄只能用于调用OpenService函数的进程,能够CloseServiceHandle函数关闭。
(2)为了使用OpenService,需要SC_MANAGER_CONNECT。
原文地址:https://www.cnblogs.com/qiwu1314/p/9566820.html