- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
将普通应用程序制作成系统服务
将普通应用程序制作成系统服务
第
第 PAGE 1 页 共 3 页
将普通应用程序制作成系统服务
如果想让自己的应用程序在 2003 服务器登录前运行,除了写底层的 vxd 驱动外,似乎只能做成系统服务。而默认安装好的 Windows 2003 又没有提供制作成系统工具的服务器。如果强行修改注册表加入,很有可能启动失败。怎么办, 当然是 Google 一下。
原来微软提供了一个名为 Windows 2003 Resource Kits 的包,里面有各式各样奇奇怪怪的小工具,其中有两个就是用来将普通程序变成系统服务器的。一个称为 instsrv.exe,另一个唤作 srvany.exe。
下面开工,先装好资源包。假设我们的程序名为chatServer.exe,我需要它成为系统服务器,在系统启动但是未登录的情况下运行……
控制台下键入命令
1 instsrv chatServer d:\chat\chatServer.exe
将其注册为系统服务,进入管理工具的服务中查看,多了一项 chatServer。尝试启动,如果你能正常启动它,OK。如果启动失败,则表明我们的程序不太适应系统服务这种东西。没关系,微软提供了一个 srvany.exe 的东东,从名字就看得出来,它可以将任何程序变成系统服务。
进入注册表,找到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\chatServer,把 ImagePath 的内容改为指向 srvany.exe,如“d:\tools\srvany.exe”
新建 Parameters 项目,添加 application 子键,内容为应用程序的路径,如:d:\chat\chatServer.exe
回到进入管理工具的服务中,启动 chatServer, All done。4.别忘了将该服务器改为自启动。
如果你仍然搞不定的话,推荐一个专干这个事情的软件F,咱也是失败了很多次,后来用这个软件搞定的,囧。不过公司的服务器都是 Linux 和 FreeBSD 了,哪天有钱买服务器后 CoCo 也把自己的服务器搞成 Linux,windows的服务器实在是太不好用了……
下载上面的工具包安装后,再在 Command Shell 窗口执行上述命令即可。
小知识 什么是服务
服务是一种应用程序类型,它在后台运行。要管理系统服务,请运s行ervices.msc,打开“服务”对话窗口,这里
可以看到当前系统中的所有服务。双击某一服务,在弹出的“属性”对话框的“常规”选项页中的“服务状态”栏可以看到此服务当前状态。单击“启动类型”下拉菜单,可以将该服务设置为自动启动、手动启动或禁用。
用 instsrv.exe 程序设置成服务启动
Windows 的“服务”工具是不能添加/删除服务的,但可以利用 Windows 提供的资源工具包中的 Instsrv.exe 和Srvany.exe 来实现。其中,Instsrv.exe 可以给系统安装和删除服务,Srvany.exe 可以让程序以服务的方式运行。
★设置方法
第一步:报户口——注册服务名称
这里就以建立一个名为 explorer 的服务为例来说明,首先将 Instsrv.exe 和 Srvany.exe 存放到一个比较方便的地方,建议放到系统安装目录中(笔者的 Windows XP 安装目录为 D:\Windows)。运行 cmd.exe,进入“命令提示符”窗口, 执行命令:cd d:\Windows,进入系统安装目录。运行命令:
Instsrv explorer d:\Windows\srvany.exe
好了,这条命令的成功运行,已经在系统中注册了一个名叫 explorer 的服务,快到“服务”中看看一下检验检验
吧!
小提示
★注册服务:instsrv :这里的可任意取名,前面必须带上该文件的绝对路径,:如D:\Windows\srvany.ex。e
★删除服务:instsrv remove
第二步:找关联
要让 explorer 服务正常运行,还必须在注册表中指定该服务对应的应用程序。运行Regedit.exe,打开“注册表编
辑器”,依次展开如下子键:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services],在该子键下找到并右击explorer(对应前面建立的服务名),选择“新建”下的“项”,将其命名为Parameters。单击选定它,在右侧窗口中新建一个名为 Application 的字符串值,将其数值数据设置为 explorer 服务对应的应用程序绝对路径,比
如:d:\Windows\gboor.exe。接着再新建两个字符
文档评论(0)