基于 qt-solutions/qtservice 编写 Windows 服务程序
步骤一:下载 qtservice 源码,下载地址为 https://github.com/qtproject/qt-solutions/tree/master/qtservice 。
步骤二:将 qtservice/src/qtservice.pri 添加至 pro 文件中,include(./windowservice/qtservice.pri) 。
步骤三:编写自己的 service 类,并继承自 QtService 。qtservice/example 中有应用实例可以参考。
class MyService : public QtService
{
public:
MyService();
protected:
/* 开启服务 */
virtual void start() override;
/* 停止服务 */
virtual void stop() override;
/* 暂停服务 */
virtual void pause() override;
/* 重启服务 */
virtual void resume() override;
};
步骤四:在 main.cpp 中调用使用实现的服务类。
int main( int argc, char **argv )
{
MyService service( argc, argv );
return service.exec();
}
步骤五:注册 / 卸载服务程序
@echo.install......
@echo off
@cd %~dp0
@sc create MyService binPath= "%~dp0\myservice.exe"
@sc config MyService start= AUTO
@net start MyService
@echo off
@echo.install successed!
@pause
@echo.uninstall service......
@echo off
@net stop MyService
@echo.delete service......
@sc delete MyService
@echo off
@echo.delete success!
@pause