转自:http://blog.sina.com.cn/s/blog_51e82bab0100f31k.html

 添加windows服务分为很多种,最常见的有使用windows API进行添加服务或者使用手动添加服务这两种方法

手动添加服务方法:(手动法又分为使用Instsrv.exe和Srvany.exe软件包的方法,以及非使用Instsrv.exe和Srvany.exe软件包添加法)

使用Instsrv.exe和Srvany.exe软件包的方法:

要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。这两个软件都包含在Windows   NT   Resource   Kit里.
   
  把这两个程序保存在一个方便的位置,例如C盘根目录下。我们举例来说明,把sandbox(安全沙箱程序)作为一个服务添加进Windows   XP   Professional操作系统中,并把这个服务命名为“sandbox_test”。在运行中输入“CMD”,回车,打开命令行窗口,在提示符后面直接输入:“c:\instsrv.exe sandbox_test c:\srvany.exe”

然后回车,

其中的“c:\instsrv.exe”和“c:\srvany.exe”表示这两个程序保存的位置,而sand_test则是你想添加的服务名称。

 运行Regedit打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下(如果找不到的话可以直接搜索刚刚建立的服务sand_test),找到刚才添加的sand_test,点击右键,新建一个项,命名为“Parameters”, 打开Parameters,右键-新建-字符串值   Application ,数据类型为“REG_SZ”,双击Application   填入   应用程序的绝对路径,如:   D:\workspace\app\main.exe (应用程序的位置),把这个路径添入数值中。到现在,这个服务已经成功的添加并且设置好了,如果要添加工作目录位置,右键-新建-字符串值AppDirectory 双击AppDirectory   填入   应用程序的工作目录,如:   D:\workspace\app\ ,可添加该服务的工作目录。如果你希望做的更加专业,可以在sandbox_test目录(Parameters外面的那层目录)下建立一个名为Description的子键,数据类型同样为REG_SZ,数值可以写一些你对这个服务的描述,这个我们在后面可以看到。 
接下来需要对服务做一些额外的设置,在运行中输入“Services.msc”并回车,在列表中找到我们刚添加的Mail服务,双击打开,来做详细的设置。在“General”选项卡上,我们需要设置这个服务的运行方式,在图二中可以看见,作为一个服务,有“自动(Automatic)”,“手动(Manual)”和“禁止(Disabled)”三种启动类型,按照需要,我们一般设置成自动就可以了。而在“Logon”选项卡下可以设置以什么身份运行这个服务,一般可以不用理会,按照默认的设置。“Recovery”选项卡下则是进行恢复设置的,你可以指定,在服务第一次,第二次和第三次出错之后分别采取什么措施。“Dependencies”则显示了服务之间的依存关系,可以让你察看这个服务的运行依赖哪些其它服务,以及还有什么服务依赖于这个服务。这后面几个对我们一般用户没有什么意义。经过这些设置,你的服务已经完全可以正常工作了。  
 


另一个简单阐述手动方法使用instsrv.exe /srvany.exe 注册windows 服务的方法
用instsrv.exe /srvany.exe 注册windows 服务方法:
1.               注册服务:   path\instsrv   服务名   path\srvany.exe

-------- 将srvany.exe 注册成系统服务


2.               regedit打开注册表
3.               进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名
4.               右键-新建-项   填入   Parameters
5.               打开Parameters,右键-新建-字符串值   Application
6.               双击Application   填入   应用程序的绝对路径,如:   D:\workspace\app\main.exe
7.               右键-新建-字符串值AppDirectory 
8.               双击AppDirectory   填入   应用程序的工作目录,如:   D:\workspace\app\


----------- 通过srvany.exe 启动注册表中定义的.exe 应用

9.               启动服务。

------------

在windows 服务管理器中看到定义的服务...

------------
注意:  在.exe 应用中, 数据库的操作是在系统启动以后才能进行,  尽量使用 出错误处理语句:
on error resume next

if err.number=0 then

end if

这样在计算机重新启动后才能自动执行定义的服务!!!!

 

否则.exe 应用可能无法执行~~~

 

注意:   生成的服务最好使用属于ADMIN 的新帐号进行登陆;

在服务的登陆选项卡上, 否则一些网络操作将不能完成!!!

--------------------------------------------------------------------------------

非使用Instsrv.exe和Srvany.exe软件包的建立windows目录的方法:

windows 如何手动添加服务

windows 手动添加服务
方法一:修改注册表

在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services"(如果CurrentControlSet里面没有services的话,就在ControlSet001或002下面的services目录下新建服务),在右侧窗格中显示的就是本机安装的服务项。如果要新建服务,只须点击"编辑→新建→项" ,然后为此项命名,如"test";然后右击该项,选择"新建→字符串值"或"新建→Dword值"即可。添加一个服务项目具体需要添加的键值如下:        "DisplayName",字符串值,对应服务名称;

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

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

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

        "ErrorControl",Dword值,值为"1";

        "Start",Dword值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;