如何在C++/QT中创建Windows服务?

7

我想创建一个Windows服务来记录屏幕并将记录的文件发送到服务器。但是每当我在Google上搜索Windows服务创建时,我总是得到.NET的结果。如何在除了.NET之外的任何其他编程语言中创建简单的服务?剩下的部分我会解决。我的首选是Qt或C ++,但我找不到相应的内容。


我不记得在创建原始WinAPI服务时遇到过太多问题来查找信息。 - chris
3
仅仅记录屏幕看起来会很复杂。 - Tony Hopkinson
1
这个完整的MSDN示例看起来不太像.NET:http://msdn.microsoft.com/en-us/library/windows/desktop/bb540476(v=vs.85).aspx - chris
1
在Windows中让服务与桌面交互并不简单。切换用户、远程登录、终端服务... - Tony Hopkinson
1
@KubaOber:服务在Session 0中运行,它们无法与交互式会话进行交互。Qt 无法帮助解决此问题,因为这种方法不起作用。您需要在交互式会话中运行客户端应用程序以读取其桌面。但是,应用程序可以标记其窗口以使软件无法读取。Qt 对此也无济于事。 - IInspectable
显示剩余4条评论
2个回答

11
Qt解决方案存档中,您可以找到包括示例的QtService项目。
  

QtService组件可用于开发Windows服务和Unix守护进程。

该组件不再得到维护,但仍应该有效。 许可证为BSD-3-Clause。

1
感谢您的提示。我已将链接更新到新的Github位置。 - cloose

1
我使用了这个教程https://www.youtube.com/watch?v=qDH7zWYaScA 中提供的解决方案,在Windows 7和Windows 10上运行得非常好。我使用了QtService。
你必须在.pro文件中包含以下内容:
include(..\qt-solutions-master\qtservice\src\qtservice.pri)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接