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

【Windows】如何将程序设置为服务并开机自启 在Windows系统中,我们经常需要让某些应用程序在开机时自动启动,特别是对于服务器程序或需要长期运行的后台程序。本文将介绍几种将EXE程序设置为服务并实现开机自启的方法。以上几种方法各有优缺点,sc命令适合简单服务,NSSM功能更强大,注册表和任务计划适合非服务程序。根据实际需求选择合适的方法即可。 阅读详情

首先看一下所需要的文件,文件下载可通过我的资源进行下载。总共有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即可

 

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

能不能点个赞再走,谢谢啦~~

C++NT服务框架源代码 NT服务框架,把你的要做成服务启动的程序代码添加到CmdStart这个函数里,那么你的代码就可以作为NT服务启动了! 立即下载

相关推荐

计算机网络实验——入侵检测系统实验

在图1所示的网络结构中,此方案的具体实施:在路由器Router1的接口1出方向配置入侵检测策略,在收到ICMP ECHO请求包时,丢弃并同步向日志服务器报告警告,此时,终端PC2和PC3无法对终端PC0和PC1执行ping操作,并且日志服务器将记录相应的警告信息;在实验一的基础上,添加扩展分组过滤器,指定需要进行检测的信息流的类别,将扩展分组和对应的入侵检测规则进行绑定,使得只对特定的信息流进行入侵检测。加载指定类别的特征库,这里的指定类别是 ios_ips 类别中的 basic 子类别。

放放的博客 1563

win10如何将应用程序安装为服务和删除服务

检查服务状态:执行完脚本后,可以打开服务管理器(services.msc)来查看新创建的服务。创建服务脚本:首先,您需要创建一个用于安装和管理服务的脚本文件。以管理员身份运行脚本:右键单击脚本文件,选择“以管理员身份运行”来运行脚本文件。打开一个文本编辑器,创建一个新的脚本文件,下面是我的nacos启动实例,复制粘贴到自己的文档中。二,删除服务(创建脚本进行删除以.bat文件命令。在脚本中,您需要根据您的应用程序进行适当的配置。保存脚本文件:将脚本文件保存为批处理文件()或PowerShell脚本文件(

ggjklncffd的博客 3155

three.js开发3D地图记录(二)

添加地图点击事件,点击区域,地图区域改变颜色并浮起来。

anwebDesigner的博客 1695

将Windows应用程序部署为服务

【代码】将Windows应用程序部署为服务

u012172195的博客 1470

避坑指南:Qgis等时圈分析中ORS插件Key申请与参数设置的常见错误

本文详细解析了QGIS等时圈分析中ORS插件从API密钥申请到参数优化的全流程避坑指南。针对密钥激活、出行模式选择、时空参数设置等七个高频故障点,提供了实用的调试方案和优化技巧,帮助用户高效完成空间可达性分析。

weixin_42546508的博客 304

SPSS&Mplus—共同方法偏差(Common Method Bias)控制与检验

共同方法偏差(Common Method Bias)的控制方法:程序控制(Procedural)和统计控制(Statistical)。

m0_54401011的博客 1万+

Windows中实现将bat或exe文件作为服务_且实现命令行安装、配置、启动、删除服务

在Windows环境下进行日常的项目开发过程中,有时候需要将bat文件或exe文件程序注册为Windows的服务实现开机自己运行(没有用户登陆,服务在开机后也可以照常运行)、且对于那些没有用户交互界面的exe程序来说只要在后台运行即可,无需在桌面显示该exe程序窗口内容、无需用户手动打开,还可以防止用户不小心关闭该程序。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

基于Unity引擎利用OpenCV和MediaPipe的面部表情和人体运动捕捉系统

增加了模型的绑定,利用Mediapipe这个强大的库可以实现识别面部表情的捕捉和人体结构运动的捕捉,基于以上的特性加入到Unity的人物模型中,实现实时的面部表情和人体运行的捕捉

BIgbossyii的博客 1万+

将程序安装成windows服务

安装成服务可随系统自动启动,不用登陆到进用户即可启动,一般是一些后台的服务程序。3、按如下图修改service.xml,此文件用于注册服务用。2、将压缩包中以下内容放到合适位置。1、为什么要安装成服务呢。

weixin_46338291的博客 1108

K8S部署Java项目(Gitlab CI/CD自动化部署终极版)

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 6954

思维链:让AI更接近人类思维的技术

本文将探讨一种名为“思维链”的技术,它旨在让AI更接近人类思维。文章首先介绍了问题背景与核心概念,接着讲解了算法原理和数学模型,随后阐述了系统分析与架构设计,最后通过项目实战展示了思维链的实际应用,并提供了最佳实践和小结。思维链是一种旨在模拟人类思维过程的技术,它通过构建一系列相互关联的思维方式,实现对复杂问题的分析和解决。思维链算法是一种基于人类思维过程的人工智能算法,它通过构建一系列思维链,实现对问题的分析和解决。智能问答系统是一种常见的人工智能应用,它能够回答用户提出的各种问题。

AI天才研究院 946

Windows将(.exe)程序变为Windows服务

binpath:你的应用程序所在的路径。displayname:服务显示的名称sc config 服务名 start= demand //手动sc condig 服务名 start= auto //自动sc config 服务名 start= disabled //禁用当你使用sc create命令创建一个服务时,如果没有指定type参数,它通常会默认为Own Process类型。这是最安全的配置,因为它隔离了服务,减少了潜在的风险,如果一个服务崩溃,不会影响到其他服务。

qq_74271133的博客 1766

北斗导航 | 接收机自主完好性监测与神经网络结合的技术路径、应用场景及研究进展

2] 许承东, 黄国限, 钟贤发, 等. 一种用于神经网络RAIM的故障卫星识别方法[P]. 中国专利: CN117192573A, 2023-12-08.随着6G通信与低轨卫星星座的融合发展,神经网络RAIM有望在2025-2030年实现从辅助技术向主导技术的跨越,成为智能导航系统的核心支撑技术。该架构采用改进型BP神经网络实现非线性映射,在GPS/北斗双模系统中实现98.7%的故障识别率[2]。注:测试条件为GPS/北斗双模系统,12颗可见卫星,含3颗故障卫星的复合场景。

尘世冰封的专栏 484

【Windows】普通控制台EXE程序转为windows服务方式运行的详细步骤

NSSM(Non-Sucking Service Manager)是一个免费的第三方Windows服务管理器,可以将任何可执行文件转换为Windows服务。

比嗨皮兔 2971

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

windows 把exe 设置成服务运行

windows 把exe 设置成服务运行

小小IT人的专栏 8002

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

windows将程序做成服务

1、安装自己的软件,我们把软件安装到“C:\Program Files (x86)\***\”这个目录下。 2、下载Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。 2、将Instsrv.exe和Srvany.exe放置到某目录下,我们把它们保存在“C:\srvany\”目录下。 3、打开CMD,输入以下...

云深海阔专栏 1万+

NT Service的几个注意点和示例代码

如何编写NT Service在MSDN->Platform SDK->DLLs, Processes, and Threads->Service中说得很清楚了,在这里我就不多说了,这里我就只说一些我个人认为的在编写service过程中要注意的地方。   0、在我们通过控制面板或NET START命令启动一个service时, Service Control Manager (SCM)从注册表里拿到

enoeht的专栏 3282

2种方法教你,如何将exe注册为windows服务,直接从后台运行

2种方法教你,如何将exe注册为windows服务,直接从后台运行

樂小伍 4920

将任意exe文件安装成windows服务

在Parameters键下创建一个新的字符串值,命名为Application,并将其值设置为你的exe文件的完整路径,比如C:\YourService\your_exe_file.exe。其中,YourServiceName是你要为服务指定的名字,C:\YourService\srvany.exe是srvany.exe的路径。通过以上步骤,你就可以使用Instsrv.exe和srvany.exe将一个exe文件安装为Windows服务。其实很简单,基于Instsrv.exe和srvany.exe实现。

hjkggkiuj的博客 4296

VS2022 创建windows服务-Windows Service

vs2022 2023等版本出现,似乎被忘记的早期的Windows Service服务是如何创建的呢?本文介绍了如何用新版本VS进行C#创建、安装、启动、监控、卸载简单的Windows Service 的内容步骤和注意事项。windows服务可以在windows中自动运行。框架可以选择传统的4,或者4.7等其他适合项目的框架。一、创建一个Windows Service。1)创建Windows Service项目。

北京土豆(qqxinxi) 的专栏 2311

使用Visual Studio 创建Windows服务,并安装部署

使用Visual studio开发Windows服务,并安装部署

一路向北 2494

三种把.Net Core部署至 Windows 服务的方法

为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了。一般情况下,Asp.net Core会部署至linux服务器,或者部署至Windows的IIS中。但也不排除会有Asp.net Core部署至Windows 服务中的情况,比如Windows服务器并没有安装IIS,或者Asp.net Core中存在一些定时任务,需要实时运行,等等一些情况。 微软解决方案 微软也提供了.Net Core部署至Window

极客神殿 2万+

.NET 控制台应用程序转换 Windows 服务

.NET 控制台应用程序转换 Windows 服务。

qq_42486612的博客 1272

【Windows】Windows环境将.exe可执行文件设置为后台服务

Windows环境将.exe可执行文件设置为后台服务

Yohann17的博客 4969

sc 使用

sc config RpcSs start= auto 注意等号后面后空格 sc create命令行添加/创建/修改服务添加服务:sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Tran...

weixin_34408624的博客 221

程序注册为服务

程序注册为服务

技术分享 368
上一篇: 将视频文件的每一帧都拆分成一个独立的文件(提取文件中的所有关键帧)
下一篇: WOL幻包(魔术包)
RuningPigNO1
博客等级 码龄10年 22粉丝 39原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RuningPigNO1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值