如何在C中获取
Windows服务的状态?
这是一个C#示例:
ServiceController sc = new ServiceController("Spooler","Server1"); if (sc.Status == ServiceControllerStatus.Running) { MessageBox.Show("The service is running."); }
但是如何在C中进行等效?
您需要调用
OpenSCManager()
,然后是
OpenService()
,然后调用
QueryServiceStatus()
才能获得状态.
完成后,调用CloseServiceHandle()
两次,一次调用服务句柄,然后调用OpenSCManager()返回的句柄.