【问题标题】:Restart Windows 8.1 local Service from a C++ app?从 C++ 应用程序重新启动 Windows 8.1 本地服务?
【发布时间】:2015-06-24 17:26:33
【问题描述】:

我有一个 C++ 桌面应用程序,它与一个外国(不是我写的)Windows 8.1 本地服务对话。该服务与 USB 设备对话。不幸的是,即使使用 USB 设备管理器实用程序正确地分离了 USB 设备,该服务也存在一个错误,它会导致它在 USB 设备被分离时变得无响应。目前我必须进入 Windows 8.1 本地服务控制面板并手动重启服务。

我可以检测到我的应用程序是否没有响应该服务。所以我想要做的是,如果在启动时我检测到这种情况,我会从我的应用程序重新启动服务。是否有 WinApi 或其他可用的调用或技术可以帮助我做到这一点?我发现了一些像这样的 C# 示例:

How to restart windows service?

但 C++ 没有。我正在使用 Visual Studio 2013 进行开发。

【问题讨论】:

  • 您的桌面应用程序是否运行提升?如果没有,那么你可能不走运。您可能需要创建一个单独的进程,最好是作为监护人服务,以保持其他服务处于活动状态。
  • @DavidHeffernan 谢谢。我能做的是启动另一个应用程序,提示用户提升权限并重新启动。有点令人费解,但比指导新手用户使用本地服务控制面板重新启动服务要少。
  • 安装一个专门的守护服务进行重启,然后可以完全屏蔽用户

标签: c++ winapi device-driver


【解决方案1】:

只需致电ControlService。 [填充]

【讨论】:

  • 我认为你应该添加一个简短的函数描述,这样填充就没有用了。
猜你喜欢
  • 2011-05-22
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多