2012-03-13 111 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