|
楼主 |
发表于 2005-6-16 19:59:44
|
显示全部楼层
来自 中国–四川–成都–新都区
25. Srvany.exe (Applications as Services Utility)
Srvany一个可以让Windows应用程序像一个服务那样运行。也就是说在logoff的时候不关闭,也不用在logon的时候重新启动。也就是就算是没有人登陆这个程序也可以运行,当然计算机得是开着的,呵呵!此外,如果这个应用程序不忽略WM_ENDSESSION或者CTRL_LOGOFF_EVENT时,程序也会因为logoff而退出。
srvany是一个为32-bit应用程序设计的,但是用用16-bit也应该没有多大问题。如果你安装过srvany服务的话,在升级或安装Windows 2000, Windows NT Server, Windows NT Workstation, or applications时要先disabled。
实际上srvany本身就是一个服务,它先把自己启动起来,然后又在启动那些配置过的应用程序。就我个人开来这种方法很费力,比起instsrv和srvinstw来说都比较难以使用,最关键的是还要手工添加注册表。下面也就说一下怎么样让一个应用程序像一个服务那样运行。
首先我们要安装Srvany,可以使用instsrv Myservice c:\path\srvany.exe或者srvinstw照提示做就可以了。这个是必要的,我们需要Srvany来启动程序。
当然为了让程序像服务一样运行,我们需要编辑注册表信息,而且还要选择启动参数和工作目录。这里再次提醒手工操作注册标有危险性,注意备份。
我们只要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\下
添加一个Parameters子键,这里的MyService是刚刚指定的Srvany的服务名字。
然后再这个subkey底下建立一个应用程序入口,使用REG_SZ类型。
接着在指定程序的全路径,需要包括扩展名。比如Application: REG_SZ: C:\Tools\srv.exe
为了指定相应的启动参数我们还得继续编辑注册表。
这个时候要在刚刚的Parameters底下接着创建一个AppParameters条目,也是REG_SZ类型。
比如:AppParameters: REG_SZ: C:\tmp\example,当然因为srvany已经被安装为一个服务了,你也可以
在Services面板里指定。C:\Tools\srv.exe C:\\temp\example。注意,这里使用\\来表示一个\。
再来就是指定环境变量了。
添加一个AppEnvironment,REG_MULTI_SZ类型。这个东西就是Services面板里面的Dependencies这一项。
可以根据需要指定,没有就不需要添加。
还要指定Working Directory。
也是在Parameters里面建立一个AppDirectory使用REG_SZ。比如:AppDirectory: REG_SZ: C:\Tmp
当然也可以在Services里面 /D c:\\tmp D:\\Tools\\Vi.exe c:\\tmp\\example。
一个srvany可以启动一个应用程序,如果你要用srvany而且是多个程序的话,只要采用不同的servicename启动一个srvany就可以了。如果要删除可以使用instsrv myservice remove,也可以用sc。
大家可以通过调整以下这几个注册表项来为提供相应的访问。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters\NullSessionShares
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters\NullSessionPipes
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters\RestrictNullSessAccess
26. Srinstw.exe (Service Installation Wizard)
这个安装服务的工具前面就已经提到过了,而且又是GUI工具,使用起来都照着提示做就可以了,这里就不再多说什么,只是注意卸载服务的时候不要把系统重要的服务赶掉就好了。
以上内容来自CSDN 我在研究一下。 |
|