我们有一个使用WinAPI的现有C应用程序(我们称之为“SvcApp”).我们有另一个名为“MgrApp”的C WinAPI应用程序,它安装并启动“SvcApp”作为
Windows服务.
但是,我们想用Qt应用程序替换“SvcApp”.我可能会被误导,但似乎不可能使用< windows.h>从Qt应用程序,所以我似乎不能只复制和粘贴“MgrApp”中的所有现有代码……或者我可以吗?
总而言之,我们需要从Qt应用程序中执行以下操作:
>启动/停止Windows服务
>安装/卸载Windows服务
你肯定可以在Qt应用程序中使用Windows API(包括windows.h).在幕后,Qt使用Windows API.处理跨平台Qt应用程序的正常方法是使用#ifdef块.为此,Qt提供了Q_OS_WIN32和Q_WS_MAC等宏.查看Qt源代码,您将看到此方法在整个地方使用.
编辑:您可能还希望使用命令行实用程序来安装/卸载和启动/停止Windows服务.这样你就可以使用QProcess来调用它,而不必深入研究WinAPI(这总是很好)