⑴ 如何将应用程序exe注册成服务,直接从后台运行
方法一:使用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帮助启动。
⑵ 怎么把自己写的服务程序添加到计算机服务
下面介绍使用SrvAny.exe将tracd封装成windows服务。
1.下载安装Windows2003 Resource Kits,其实我们只需要该目录下的SrvAny.exe和instsrv.exe文件即可,在此目录下还有rktools.chm帮助文件,大家可以查看SrvAny.exe如何使用。
2.创建服务,语法如下:instsrv 服务名称 srvany所在路径/srvany.exe。假设我们的Windows 2003 Resource Kits都安装在C:/Program Files/Windows Resource Kits/Tools目录,待建立的服务名称是TracSrv,那么我们的命令如下:
"C:/Program Files/Windows Resource Kits/Tools/instsrv" TracSrv "C:/Program Files/Windows Resource Kits/Tools/srvany.exe"
需要注意的是,srvany前的路径不能省略,必须是绝对路径。
现在我们已经创建了一个名叫TracSrv的服务,下一步我们来配置这个服务,让它封装tracd命令。
3.打开注册表编辑器。找到注册表项 “HKEY_LOCAL_MACHINE/SYSTEM/ CurrentControlSet/Services/TracSrv”,在TracSrv项里建立新的子项“Parameters”,再在新建的 Parameters项里新建字符串值,数值名称设为“Application”,数值数据设为我们在第一篇说的启动tracd的行命令,也就是
c:/python24/python c:/python24/scripts/tracd -p 8001 C:/SCM/Angel/Angel_Trac
(注意使用全路径)。这样,我们就配置好了TracSrv服务。
4.启动TracSrv服务。现在我们就可以在浏览器中访问Trac网站,只要服务器启动,不需要进入登陆Windows桌面,我们就可以访问Trac站点了。
如何删除这个服务呢?使用sc.exe即可,此命令在xp系统自带。
1.停止TracSrv服务。
2.运行cmd,进入行命令窗口,输入“sc delete TracSrv",回车即可。