如何创建服务

neverlost 2000-01-26 05:53:00
在WINNT或WIN2000下如何创建属于自己的服务,就如同IIS一样,请问有谁知道何处有相关的例子,代码。
...全文
195 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangtao 2000-02-01
  • 打赏
  • 举报
回复
用Delphi 4非常简单:
你可以在Delphi中使用File/New...,选择Service Application.将你的功能在
代码中实现(移植非常简单,不用我说了吧?)编译后生成.EXE文件,比如生成
Service1.exe文件,在NT中执行Service1.exe /install,打开NT的Control Panel
中的“服务”可以看到你的Service,一切OK!

VC比较麻烦:

通常一个Server都有这样三个函数:
1.一个Main函数,在Main函数中主要工作就是执行一个函数StartServiceCtrlDispatcher,其目的是为了把你的ServiceMain函数的指针
传递给NT的SCM(Service Control Manager,你可以在NT的控制面板中
找到它)。这样NT就可以通过SCM来启动、停止、暂停你的程序了。
2、一个ServiceMain函数,主要工作就是登记你的Service控制句柄和做一些
初始化的工作,并且一般就是在这个函数中启动你的服务。例如启动一个定时
报时的线程
3、一个Control Handler函数,简单的讲,就是实现NT Service的启动、停止、
暂停这些动作

要想对NT Service编程了解得多一些,最好是看一下VC的帮助,这部分内容在VC
帮助的位置是:Platform SDK下的Windows Base Services下的Executables下的
Services中。

上面说了这么多废话,最重要的差点忘了说:Delphi4下可以用比较简单的方法来实现Service了!哈哈,这是Delphi4的新功能。
Delphi4中有个TService类,你可以直接New一个Service Application。不需要
使用什么控件。当然,真正做起来也不是那么简单的。
piercech 2000-02-01
  • 打赏
  • 举报
回复
我有一个控件(网上下载的)可以提供给你(免费).E-MAIN:PIERCECH@CMMAIL.COM
hexz 2000-01-26
  • 打赏
  • 举报
回复
在 MSDN的 sample\vc\sdk\winbase\winnt\service 目录有一个完整的例子。如果

您看不明白的话,可以写信给我,我最近写了许多基于NT 服务的应用(邮件服务器,WWW,CHAT SERVER)可以 E 给你!

好运!
WHQ 2000-01-26
  • 打赏
  • 举报
回复
NT下的服务程序(Service)+网络通讯(TCP/IP)就能实现,已给你发了一个例子,没仔细研究过,不知是否好使

6,847

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧