如何知道现有的内部服务名称(lpServiceName)以停止它

How to know the existing internal service name ( lpServiceName ) to stop it

本文关键字:lpServiceName 何知道 服务 内部      更新时间:2023-10-16

同样的问题,但尚未解决

我需要在C++中停止远程桌面服务,但是当调用此

SC_HANDLE WINAPI OpenService(
  _In_ SC_HANDLE hSCManager,
  _In_ LPCTSTR   lpServiceName, //"Remote Desktop Configuration" e.g.DisplayName 
  _In_ DWORD     dwDesiredAccess
);

关于 lpServiceName 参数,当此变量中没有空格时,它可以正常工作,例如"WebClient"。如何知道"远程桌面配置"对应的正确名称才能成功调用OpenService函数

关于OpenService的第二个参数 - lp服务名称

这是由 的 lpServiceName 参数指定的名称 创建服务

但是您尝试使用 lpDisplayName(创建服务的第三个参数)作为OpenService lpServiceName参数 - 这是一个错误。 OpenService仅适用于 lpServiceName名字。

当此变量中没有空格时,它可以正常工作

空格字符在 lpServiceName 中是绝对合法的 - 这里没有问题。你真正想说的是它工作正常当 lpServiceName 等于 lpDisplayName 时。