2012-03-13 108 views
14

我正在使用CreateService來安裝Windows服務可執行文件,但我似乎無法找到如何設置服務描述。在C++中設置Windows服務描述

有誰知道如何做到這一點?

謝謝。

回答

14

致電ChangeServiceConfig2通過SERVICE_CONFIG_DESCRIPTION作爲dwInfoLevel參數。你還需要一個處理服務,但CreateService給你的一個。

SERVICE_DESCRIPTION description = { L"The service description" }; 
ChangeServiceConfig2(hService, SERVICE_CONFIG_DESCRIPTION, &description); 
+0

完美。花了很多時間試圖找到這個! – Nick 2012-03-13 13:09:27

+0

值得一提的是,必須使用SERVICE_CHANGE_CONFIG權限創建服務,否則您將獲得「訪問被拒絕」,並且描述不會被設置。 – hfrmobile 2015-07-28 11:53:03

6

查看此MSDN頁面的示例。您使用ChangeServiceConfig2方法。

SERVICE_DESCRIPTION sd; 
SC_HANDLE schService; 
SC_HANDLE schSCManager; 

// Not shown: Get a handle to the SCM database. 
// Not shown: Get a handle to the service. 

sd.lpDescription = TEXT("Description"); 
ChangeServiceConfig2(schService,     // handle to service 
         SERVICE_CONFIG_DESCRIPTION, // change: description 
         &sd))      // new description