如何在NT4.0的控制面板里增加一项新的服务(100分)

  • 主题发起人 主题发起人 希臣
  • 开始时间 开始时间
说的是NT Service吗?
如果是的话,前面有几个问题与此有关,可以看一看.
如果用Delphi做的话,使用TService,或者直接New一个Service Application.
要了解原理的话,就看看VC的Help
 
是不是,在控制面板中加入自己编写的控制程序,象
Delphi 中的BDE Administrator一样,如是这样的话
我编写过此类程序的范例,可到我的主页中下载,
在95、98可用,在NT上没测试过。
http://www.lxspace.net/~rockboy
 
Hehe, you can make a DLL, which has the entrypoints
that control panel requires, then rename your surfix from
".DLL" to ".CPL", then place your DLL in system32
dir, that OK!
 
大家,sorry!我是想问在NT的控制面板里有项“服务”或叫“Service”,
在它里面怎么再增加项目,而不是向控制面板里加内容。
 
那就是要编NT的Service,Delphi4支持的,
如果用Delphi3,可以到下面这个网址看看:
http://www.wilsonc.demon.co.uk/delphi.htm

这上面可是好东西多多哟!
 
Ohh, then I can provide an example for you.
I still owe this example to CJ, :)
I'll soon complete it, :)
 
如果你用Delphi4可以直接编写一个NT Service,然后在Delphi4中运行的时候
选择run菜单中的parameters...项,在其中指定Run parameters为"- Install"
最后选择run菜单中的run运行您的NT Service就可以了。
 
我这里有篇文章,讲可执行的文件做为NT的一个服务启动,应该与你的问题相同

我们以 Serv-U2.4 为例,来说说将一个可执行的文件做为NT的一个服务启动。

Serv_u2.4

MS在IIS中给的FTP不能很好的区分用户并分配权限。而 Serv_u2.4
正是能解决上述问题的方法之一。
但安装完SERV-U2.4以后,它并不是一个NT的SERVICE。怎么办?

ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt35/i386/

这一目录装的MS在NT35时使用的Resource Kit, 共7MB多,解开后是一大
堆,其中有三个文件是有用的,不过需要用expand.exe 展开。它们是:
SRVANY.EXE, SRVANY.WRI, INSTSRV.EXE.
经测试,它们可以在NT4中正常使用。


第一步,创建一个目录,展开 SRVANY.EXE, SRVANY.WRI, INSTSRV.EXE.
第二步,进入DOS窗口,在上述目录中运行:
INSTSRV SERVUFTP c:/srvany/srvany.exe
<这里假定 C:/srvany/ 为那3个文件的位置,并且,SERVUFTP是我们
想让它出现在控制面板--服务--中的服务名称>
第三步,运行regedt32.exe
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
SERVUFTP
第四步,"Add Key..."
Key Name -> Parameters
Class -> 空白
第五步,选中 Parameters Key "Add Value"
Value Name -> Application
Data Type -> REG_SZ
OK以后弹出的对话框中填写:
c:/serv-u/serv-u32.exe
<假定 Serv-u 装在 C:/Serv-U 目录下>
第六步,
加入另一个 Value
Value Name -> AppParameters
Data Type -> REG_SZ
OK以后弹出的对话框中填写:
/u /h
<这是运行 Serv-U 所需要的参数,如果是其它的应用程序,请参照程序
中的有关文档>

关闭Regedt32.exe
在控制面板中设置服务的启动选项,与桌面交互什么的...
 
那如果用程序呢?例如在95下用程序调用安装Personal Web Server服务?
 
如果用程序就没试过了,但是跟注册表打交道,总觉得底气不够
 
TO LLZX:注册表的离子本论坛很多
应该有类似的API ,猜的 :)
 
Delphi4帮助中有两个NT Service的例子.
在帮助索引中找到主题Service Applications和Service Threads,例子就在下面.

其中Service Threads的例子比较典型,它提供一个简单的服务:0.5秒钟鸣叫一次.
可以直接New一个Service Application,然后把例子的内容拷贝进去,再编译一下.

执行程序的后面带上命令行参数'-INSTALL'就可以将Service安装到控制面板的
'服务'中;卸载的参数是'-UNINSTALL'.
 
为什么还不给我加分呢???
 
直接用API函数。
1. OpenSCManager()
2. CreateService()
3. StartService()
.
.
.
 
多人接受答案了。
 
后退
顶部