windows下vs如何将一个控制台程序改成服务(借助NTService类实现)

Dolly ·
更新时间:2024-11-13
· 509 次阅读

首先看一下所需要的文件,文件下载可通过我的资源进行下载。总共有7个文件如下图:

接下来咱们一起来实际操作一番:

添加文件到你的工程中,如下:

将你自己原来控制台的函数入口替换成int inter_main(),如下:

在myservice.cpp中修改你的服务名称,为你的服务起一个响亮的名字,这里我用的是TestService

注意:如果你的源代码使用.cpp写的,那么就需要你修改两处地方,如果你是.c写的,那么你可以直接使用:

1.NTServApp.cpp中申明inter_main的时候去掉extern “C”中的C申明,直接用extern int inter_main();即可,如图:

2.myservice.cpp中申明时候去掉C申明,直接用extern int inter_main();即可,如下图:

这个时候你就可以直接编译了。

编译完后,通过管理员权限启动cmd,并且进入你生成exe的目录,利用-i参数执行,成功以后会有installed的提示。安装服务,如下图:

这时候,打开计算机服务列表,就能看到你安装的服务了。

此时可以在右键单击属性里面设置为开机自启即可。 卸载服务:通过-u参数执行,会提示removed 如下图:

当然你还可以通过你的控制台去启动该程序,只需要在启动的时候加上参数--console即可

到这里,这个类的使用方法就介绍完了,下面有什么问题可以留言,我看到了会一一回复的,然后……

能不能点个赞再走,谢谢啦~~
作者:RuningPigNO1



程序 控制台程序 windows 控制台

需要 登录 后方可回复, 如果你还没有账号请 注册新账号