在C++中设置Windows服务描述

16

我正在使用 CreateService 安装Windows服务可执行文件,但是我似乎找不到如何设置服务描述的方法。

是否有人知道如何设置服务描述?

谢谢。

2个回答

20

通过将 SERVICE_CONFIG_DESCRIPTION 作为 dwInfoLevel 参数传递,调用 ChangeServiceConfig2。你还需要一个服务句柄,但是 CreateService 可以提供这个句柄。

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

太好了!花了很长时间才找到这个! - Nick
2
值得一提的是,该服务必须使用SERVICE_CHANGE_CONFIG权限创建,否则您将收到“访问被拒绝”的错误并且无法设置描述。 - hfrmobile

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接