当前位置:首页 > 技术积累 > 正文内容

基于Windows实现应用程序以服务方式自动运行的几种方式

竹林之风3年前 (2021-11-19)技术积累6228

        在Windows平台上要让一个应用程序自动运行,有如下几种方式:①at命令、schtasks命令、计划任务或组策略等;②开始菜单的启动文件夹;③注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run或HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run;④Windows服务;⑤其它方式。前三种方式都需要Windows登录后才会自动运行,Windows服务支持登录前就自动启动。本文仅讨论将应用程序注册为Windows服务的途径。

        1、各种语言或平台本身支持创建Windows服务项目,如.NET Framework支持创建Windows服务应用程序,通过.NET Framework自带的服务注册工具InstallUtil.exe来注册。

        2、通过sc create等组合命令来创建Windows服务:

            sc boot sc config sc continue sc control sc create sc delete sc descrīption sc enumdepend

            sc failure sc getdisplayname sc getkeyname sc interrogate sc lock sc pause sc qc

            sc qdescrīption sc qfailure sc query sc queryex sc querylock sc sdset sc sdshow

            sc start sc stop

        3、通过nssm第三方软件来实现Windows服务的创建、移除等操作:NSSM - the Non-Sucking Service Manager

        4、通过Topshelf第三方服务框架来实现Windows服务的创建、移除等操作:Topshelf (topshelf-project.com)

        5、利用instsrv和srvany安装Windows服务:instsrv.exe&srvany.exe

        (1)修改注册表,将真正要自动运行的应用程序文件名和目录设置号:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NginX\Parameters]
"Application"="E:\\nginx-1.12.0\\nginx.exe"
"AppDirectory"="E:\\nginx-1.12.0\\"

        (2)使用instsrv将srvany注册为Windows服务:

E:\nginx-1.12.0\instsrv NginX E:\nginx-1.12.0\srvany.exe

       (3)srvany会通过第一步注册表设置启动真正要自动运行的应用程序。

       (4)卸载服务方式:

E:\nginx-1.12.0\instsrv NginX remove

        6、其它方式。

扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/361.html

标签: Windows服务
分享给朋友:

“基于Windows实现应用程序以服务方式自动运行的几种方式” 的相关文章

ASP.NET实现HTTP长轮询(二)——一般处理程序ashx

ASP.NET实现HTTP长轮询(二)——一般处理程序ashx

        本文主要描述如何在ASP.NET一般处理程序中实现长轮询:(1)实现IAsyncResult:using System; using System.Threadi...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。