如何使用Qt安装Windows服务? 我们有一个使用WinAPI的现有C++应用程序(我们称之为“SCAPP”)。我们有另一个C++ WINAPI应用程序,叫做“McCIPP”,它安装和启动“SCAPP”作为Windows服务。

如何使用Qt安装Windows服务? 我们有一个使用WinAPI的现有C++应用程序(我们称之为“SCAPP”)。我们有另一个C++ WINAPI应用程序,叫做“McCIPP”,它安装和启动“SCAPP”作为Windows服务。,qt,windows-services,Qt,Windows Services,但是,我们想用Qt应用程序替换“SvcApp”。我可能被误导了,但似乎不可能从Qt应用程序中使用,所以我似乎不能从“MgrApp”复制并粘贴所有现有代码。。。或者我可以吗 总之,我们需要从Qt应用程序中执行以下操作: 启动/停止windows服务 安装/卸载windows服务 我不知道windows.h头的具体情况,但一般来说,您可以在任何Qt程序中包含特定于平台的代码。该程序只是不再能够跨平台移植。(通常最好在单独的文件中设置平台特定部分,但如果程序的全部内容都是windows服务,那么…您

但是,我们想用Qt应用程序替换“SvcApp”。我可能被误导了,但似乎不可能从Qt应用程序中使用
,所以我似乎不能从“MgrApp”复制并粘贴所有现有代码。。。或者我可以吗

总之,我们需要从Qt应用程序中执行以下操作:

  • 启动/停止windows服务
  • 安装/卸载windows服务

我不知道windows.h头的具体情况,但一般来说,您可以在任何Qt程序中包含特定于平台的代码。该程序只是不再能够跨平台移植。(通常最好在单独的文件中设置平台特定部分,但如果程序的全部内容都是windows服务,那么…

您肯定可以在Qt应用程序中使用windows API(包括windows.h)。幕后Qt使用windowsapi。处理跨平台Qt应用程序的正常方式是使用#ifdef块。Qt为此提供了诸如Q_OS_WIN32和Q_WS_MAC之类的宏。查看Qt源代码,您将看到到处都在使用此方法


编辑:您可能还需要研究如何使用命令行实用程序来安装/卸载和启动/停止windows服务。这样,您只需使用QProcess调用它,而不必深入研究WinAPI(它总是很好)

已经有了一个解决方案-
QtService

此处的文档:


在这里下载:

@Mihai Limbășan你知道许可证是什么吗?@sara最新版本也是。它是LGPL(在源代码中)和。