如何在 C++/QT 中创建 Windows 服务?
Posted
技术标签:
【中文标题】如何在 C++/QT 中创建 Windows 服务?【英文标题】:How to create a Windows Service in C++/QT? 【发布时间】:2013-07-04 21:58:39 【问题描述】:我想创建一个简单地记录屏幕并将记录的文件发送到服务器的 Windows 服务。但每当我在 Google 中搜索 Windows 服务创建时,我总是会得到 .NET 结果。除了 .NET,我如何才能在其他任何东西上提供简单的服务?我会弄清楚其余的。我更喜欢 Qt 或 C++,但我找不到适合他们的任何东西。
【问题讨论】:
"Anything but" 涵盖了太多内容。选择你的毒药,然后从那里出发。 简单记录一下屏幕就复杂了。 这个完整的 MSDN 示例看起来非 .NETish:msdn.microsoft.com/en-us/library/windows/desktop/… 在windows中让服务与桌面交互并不简单。切换用户、远程登录、终端服务…… @KubaOber:服务在会话 0 中运行。它们无法与交互式会话进行交互。 Qt 在这里没有帮助,这根本不会像这样工作。您需要在交互式会话中运行的客户端应用程序来读取其桌面。但是,应用程序可以将其窗口标记为软件无法读取。 Qt 对此也没有帮助。 【参考方案1】:在Qt Solutions Archive 中,您可以找到包含示例的 QtService 项目。
QtService 组件对于开发 Windows 服务很有用 和 Unix 守护进程。
该组件不再维护,但它应该仍然可以工作。许可证是 BSD-3-Clause。
【讨论】:
感谢您的提示。我更新了指向新 Github 位置的链接。【参考方案2】:我使用了本教程 https://www.youtube.com/watch?v=qDH7zWYaScA 中的解决方案,并且在 Windows 7 和 Windows 10 上运行良好。我使用了 QtService。
您必须包含在 .pro 文件中:
include(..\qt-solutions-master\qtservice\src\qtservice.pri)
【讨论】:
以上是关于如何在 C++/QT 中创建 Windows 服务?的主要内容,如果未能解决你的问题,请参考以下文章
在提供 JSON 数据的 C++/Qt(充当服务器)中创建简单的 WebService