繁体   English   中英

如何使用Qt安装Windows服务?

[英]How to install a Windows service using Qt?

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

但是,我们想用Qt应用程序替换“SvcApp”。 我可能会被误导,但似乎不可能从Qt应用程序中使用<windows.h> ,所以我似乎不能只复制并粘贴“MgrApp”中的所有现有代码......或者我可以?

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

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

已经有了解决方案 - QtService

文档: http//qt.nokia.com/doc/solutions/4/qtservice/

点击此处下载: ftp//ftp.qt.nokia.com/qt/solutions/lgpl/qtservice-2.6-opensource.zip

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

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

我不是特别了解windows.h标头,但一般来说,您可以在任何Qt程序中包含特定于平台的代码。 该程序仅停止跨平台移植。 (将平台特定部分设置在一个单独的文件中通常是一个更好的主意,但如果程序的整个要点是一个Windows服务,那么...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM