【问题标题】:Set Windows Service Description in C++在 C++ 中设置 Windows 服务描述
【发布时间】:2012-03-29 20:52:48
【问题描述】:

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

有人知道怎么做吗?

谢谢。

【问题讨论】:

    标签: c++ unmanaged


    【解决方案1】:

    调用ChangeServiceConfig2 传递SERVICE_CONFIG_DESCRIPTION 作为dwInfoLevel 参数。您还需要该服务的句柄,但CreateService 为您提供了其中之一。

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

    【讨论】:

    • 完美。花了很长时间才找到这个!
    • 值得一提的是,必须使用 SERVICE_CHANGE_CONFIG 权限创建服务,否则您将收到“拒绝访问”并且不会设置描述。
    【解决方案2】:

    查看此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
    

    【讨论】:

      猜你喜欢
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多