为windows添加服务的方法
1、可以用系统本身的命令
创建服务:sc create “服务名" binpath=空格"X:\*.*(路径)"
删除服务:sc delete "服务名"
开启服务:net start "服务名"
关闭服务:net stop "服务名"
如:sc create "123" binpath= "C:\1.exe" 这就创建了一个名为"123"的服务路径为"C:\1.exe。开启它则运行 net start net start "123“ 要关闭也同理。删除则运行 sc delete “123”。
举例:
添加服务:
sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EVEntSystem
修改描述:
sc description BITS "利用空闲的网络带宽在后台传输文件。如果服务被停用,例如 Windows Update 和 MSN Explorer 的功能将无法自动下载程序和其他信息。如果此服务被禁用,任何依赖它的服务如果没有容错技术以直接通过 IE 传输文件,一旦 BITS 被禁用,就可能无法传输文件。"
添加服务:
sc create PolicyAgent binpath= "C:\WINDOWS\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec
修改描述:
sc description PolicyAgent "提供 TCP/IP 网络上客户端和服务器之间端对端的安全。如果此服务被停用,网络上客户端和服务器之间的 TCP/IP 安全将不稳定。如果此服务被禁用,任何依赖它的服务将无法启动。"
SC命令的更多用法请在查看help sc
(注册表修改前请做好备份),
SvcHost共享服务的特别之处:或许重启后还需要到注册表位置:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost],查看"C:\WINDOWS\system32\svchost.exe -k netsvcs"以红色字为名的键(这里以netsvcs为例),键值里是否定义有sc create BITS蓝色字的服务(这里以BITS为例),如果没有就在键值把服务名(这里以BITS为例)添加上去,再重启一次。
特别说明:
普通程序是不能直接做服务的,服务需要scm接口,一般利用srvany.exe间接实现,比如将记事本添加成服务的示例:
sc create test binpath=c:\srvany.exe type= own type= interact start= auto obj= localsystem
reg add "hklm\system\currentcontrolset\services\test\parameters" /v application /t reg_sz /d "c:\notepad.exe" /f
再比如将飞鸽传书添加成服务的示例(测试成功):
sc create "飞鸽传书" binpath= "c:\srvany.exe" type= own type= interact start= auto obj= localsystem
reg add "hklm\system\currentcontrolset\services\飞鸽传书\parameters" /v application /t reg_sz /d "c:\ipmsg\ipmsg.exe" /f
srvany.exe的下载见第四页