如何将应用程序exe注册成服务?

如何将应用程序exe注册成服务?,第1张

方法一:使用windows自带的命令sc\x0d\x0a使用sccreate方法创建。\x0d\x0a如:sccreateCaptureScreenbinpath=F:\zwmei-project\decklink-learning\OutputBitmap\Debug\OutputBitmap.exetype=ownstart=autodisplayname=Screen_Capture\x0d\x0a其中CaptureScreen为服务名,可以在系统服务中找到,(通过在命令行运行services.msc打开系统服务)。binpath为你的应用程序所在的路径。displayname为服务显示的名称,这个在注册表中可以找到,(通过在命令行中输入regedit打开注册表,在HKEY_LOCAL_MACHINE--SYSTEM--CurrentControlSet下找到你的服务显示名)\x0d\x0a注意:在sc命令中,=号前面不能有空格,而=号后面必须有一个空格,切记。另外要以管理员的身份打开命令行。\x0d\x0a这种方法不一定能成功,如果你的exe不符合服务的规范,可能会启动失败。下面我们讨论第二种方法\x0d\x0a方法二:在第一种方法失败的情况下,我们可以使用instsrv.exe和srvany.exe两个小工具为我们分忧解难\x0d\x0a我们可以在官网下载instsrv.exe和srvany.exe然后放到自己的文件夹中,可以将文件夹放入C盘。下面我们开始注册服务。\x0d\x0a已管理员的身份运行命令行,首先进入工具所在的文件夹,如:c:\tools。\x0d\x0a执行c:\toolsinstsrv.exeServerNamesrvany.exe\x0d\x0a这样我们就创建了一个名为ServerName的srvany的服务,那么我们自己的exe该放在哪呢。下面我们打开注册表\x0d\x0a找到ServiceName这个服务,然后右键新建项,名称为Parameters。单击该项,然后在右边新建两个字符串值。第一个名为Application,值为:应用程序路径,如:c:\myApp.exe。第二个名为AppDirectory,值为:应用程序所在目录,如:c:\。\x0d\x0a接下来我们进入系统服务,找到ServiceName这个服务,双击进入它的属性。设置允许与桌面交互。然后启动服务。\x0d\x0a至此我们完成了将exe注册为服务的过程。\x0d\x0a下面我们分析一下:\x0d\x0ainstsrv.exe可以创建和删除服务,然而如果没有srvany.exe的参与,创建的服务可能无法启动。那么srvany.exe做了些什么呢,启动服务后我们可以在任务管理器中找到我们的服务,然后右击服务,选择转到进程,(如果进程中没有任何项被选中,则点击下面的显示所有用户进程,然后重新选择转至进程),我们看到的是srvany.exe,而不是我们自己的exe。原来我们的exe成为了它的一个子项,由srvany.exe帮助启动。

*** 作方法:

首先到网上下载“instsrv.exe”工具用于系统安装和删除服务,然后下载“srvany.exe”,可将程序以服务的方式运行;

将这两个小工具存放于同磁盘目录中,比如存放于D盘目录中;

然后在键盘上按“Win+R”打开“运行”窗口,输入“cmd”命令后按回车键,进入到命令提示符窗口;

在打开的命令提示符窗口中,输入下面命令注册服务:D:\instsrv.exe tjserver d:\srvany.exe //tjserver(PS:其中tjserver是服务名,这个命令的意思是将srvany.exe的程序注册成了系统服务。)

接着按“Win+R”打开“运行”窗口,输入“regedit”命令,回车打开注册表编辑器;

在打开的注册表编辑器窗口中,依次展开以下注册项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services;

在Services下找到并选中刚刚注册的服务名tjserver,右键选择新建项,名称为“Parameters”;

单击选中Parameters,在右侧窗口新建一个名称为“Application”的字符串值,将其灵敏值设置为你需要做为服务运行的程序的路径,比如小编这里的路径为“D:\\tools\\tjs.exe”。

如果你要做为服务运行的程序是在运行后需要界面的,那么可在控制面板里面找到管理工具,然后打开服务,找到刚刚创建的服务,鼠标右键打开属性,选中登陆选项卡,登陆身份选中本地系统帐户并选中允许服务与桌面交互最后点击确定,这样你的服务在启动后就可看到界面了。

如果以后不想要这个刚注册的服务了,那么请先停止服务,然后用命令“D:\instsrv.exe tjserver remove”删除该服务即可。

你好,

修改注册表

在“开始→运行”中键入“regedit.exe”,打开“注册表编辑器”,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。

如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→DWORD值”即可。添加一个服务项目具体需要添加的键值如下:

“DisplayName”,字符串值,对应服务名称;

“Description”,字符串值,对应服务描述;

“ImagePath”,字符串值,对应该服务程序所在的路径;

“ObjectName”,字符串值,值为“LocalSystem”,表示本地登录;

“ErrorControl”,DWORD值,值为“1”;

“Start”,DWORD值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;

“Type”,DWORD值,应用程序对应10,其它对应20。

另外,还要在“test”项下新建一个“Enum”项。按照以上步骤添加QQ程序为服务,重新启动计算机后,打开“服务”窗口,就可以看到刚才添加的QQ服务。

如果要删除某项服务,只要删除注册表的中相关键值即可,本例中要删除QQ服务,直接删除“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test”分支即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11535700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存