2011-03-26 149 views
3

我如何獲得C++中的Windows服務的狀態?Windows服務狀態C++?

這是一個C#示例:

ServiceController sc = new ServiceController("Spooler", "Server1"); 
if (sc.Status == ServiceControllerStatus.Running) 
{ 
    MessageBox.Show("The service is running."); 
} 

但我怎麼做C++中的相同呢?

回答

6

您需要致電OpenSCManager(),然後OpenService(),然後QueryServiceStatus()以獲得狀態。

當你完成呼叫CloseServiceHandle()兩次,一旦在服務處理,然後在由OpenSCManager()返回的句柄。

+0

但我必須包括什麼? – Rhino 2011-03-26 12:29:04

+1

@Rhino每個Win32函數的MSDN文檔都會告訴你,對於每個函數,你需要使用哪些包含文件。請閱讀「需求」一節中的頁面。 – 2011-03-26 12:29:51