代码之家  ›  专栏  ›  技术社区  ›  Nick Bolton

如何使用qt安装Windows服务?

  •  5
  • Nick Bolton  · 技术社区  · 15 年前

    我们有一个使用WinAPI的现有C++应用程序(我们称之为“sVCAPP”)。我们有另一个C++ WINAPI应用程序,称为“MPRIPP”,它安装并启动“SCAPP”作为Windows服务。

    但是,我们想用qt应用程序替换“svcapp”。我可能被误导了,但似乎不可能使用 <windows.h> 从一个Qt应用程序,所以看起来我不能只复制和粘贴“mgrapp”中的所有现有代码…或者我可以吗?

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

    • 启动/停止Windows服务
    • 安装/卸载Windows服务
    3 回复  |  直到 15 年前
        1
  •  2
  •   JimDaniel    15 年前

    在Qt应用程序中,您绝对可以使用Windows API(包括windows.h)。后台qt使用Windows API。跨平台qt应用程序的正常处理方式是使用ifdef块。qt为此提供了类似q_OS_Win32和q_WS_Mac的宏。查看qt源代码,您将看到这个方法被广泛使用。

    编辑:您还可能希望使用命令行实用程序来安装/卸载和启动/停止Windows服务。这样,您就可以使用qprocess来调用它,而不必深入研究winapi(这总是很好的)

        2
  •  10
  •   Mihai Limbășan    15 年前
        3
  •  1
  •   Caleb Huitt - cjhuitt    15 年前

    我不知道windows.h报头的具体情况,但一般来说,您可以在任何qt程序中包含特定于平台的代码。这个程序仅仅停止了跨平台的可移植性。(通常最好将特定于平台的部分分开放在单独的文件中,但如果程序的整个重点是Windows服务,那么…)