本文介绍了Windows服务状态C ++?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在C ++中获取Windows服务的状态?
这是一个C#示例:
ServiceController sc = new ServiceController(Spooler,Server1);
if(sc.Status == ServiceControllerStatus.Running)
{
MessageBox.Show(服务正在运行。
}
但是如何在C ++中做等价的操作?
解决方案
您需要致电,然后,然后获取状态。
$ b
完成调用两次,一次在服务句柄上,然后在 OpenSCManager()
。
How I can get the status of an windows service in C++?
This is a C# example:
ServiceController sc = new ServiceController("Spooler", "Server1");
if (sc.Status == ServiceControllerStatus.Running)
{
MessageBox.Show("The service is running.");
}
But how do I do the equivalent in C++?
解决方案
You need to call OpenSCManager()
, then OpenService()
and then QueryServiceStatus()
to get the status.
When you're done call CloseServiceHandle()
twice, once on the service handle, and then on the handle returned by OpenSCManager()
.
这篇关于Windows服务状态C ++?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!