Qt 编写 Windows 服务程序
大体步骤就是:
1、下载qtservice源码;
2、在自己的工程中引入qtservice源码;
include(./windowservice/qtservice.pri)
3、编写自己的 service 类,并继承自 QtService。
#include "qtservice.h"
class MyService: public QtService<QCoreApplication>
{
public:
MyService(int argc, char **argv)
: QtService<QCoreApplication>(argc, argv, "MyServiceName")
{
setServiceDescription("A service implemented with Qt.");
setServiceFlags(QtServiceBase::CanBeSuspended);
}
protected:
void start()
{
//……
}
void pause()
{
//……
}
void resume()
{
//……
}
};
int main(int argc, char *argv[])
{
MyService service(argc, argv);
return service.exec();
}
4、服务操作指令可以写进batch脚本,然后以管理员身份运行。
比如 你的 MyService.exe 在C盘根目录
1)启动服务 start.bat文件:
@echo.服务启动…
@echo off
@cd C:\
@sc create MyServiceName binPath= “C:\MyService.exe”
@sc config MyServiceName start= AUTO
@net start MyServiceName
@echo off
@echo.启动完毕!
@pause
2)卸载服务 stop.bat文件:
@echo.uninstall service…
@echo off
@net stop MyServiceName
@echo.delete service…
@sc delete MyServiceName
@echo off
@echo.delete success!
@pause