怎么通过自己的程序!向win2000系统添加新服务?

yundou 2004-09-23 02:03:38
并且启动服务。和怎么删除服务?
...全文
95 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueTrees 2004-09-23
  • 打赏
  • 举报
回复
说了那么多,俺徒弟俺都没这么教过,对他就一句话,买本《wingdows核心编程》自己看去。
BlueTrees 2004-09-23
  • 打赏
  • 举报
回复
还有对于正在运行的服务/UNINSTALL一般情况下是不会卸掉的,只是标记禁用,然后下次启动的时候才会真正卸掉,这有个技巧,可以响应卸载消息,在消息中服务器程序自己停止自己。这样就可以卸掉了。
BlueTrees 2004-09-23
  • 打赏
  • 举报
回复
写好的Delphi服务,编译后 运行带参数 /INSTALL就安装了/UNINSTALL就卸掉了/SILENT保持安静不出对话框
yundou 2004-09-23
  • 打赏
  • 举报
回复
那怎么把新的服务程序添加到服务里?还有怎么删除服务?
BlueTrees 2004-09-23
  • 打赏
  • 举报
回复
还忘记了,那个函数是特定的,所以有Name,你自己可要修正的阿,不要这个都不会阿
BlueTrees 2004-09-23
  • 打赏
  • 举报
回复
找了半天从老早以前做的项目中摘录一段,停止:

Control(SERVICE_CONTROL_STOP);

还有WinSvc这个单元要uses
BlueTrees 2004-09-23
  • 打赏
  • 举报
回复
procedure TLightControlService.Control(CtrlCode: DWord);
var
SvcMgr,Svc: Integer;
ServiceStatus:TServiceStatus;
begin
SvcMgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SvcMgr <> 0 then
begin
try
Svc:=OpenService(SvcMgr,PChar(Name),SERVICE_ALL_ACCESS);
if Svc <> 0 then
begin
try
ControlService(Svc,CtrlCode,ServiceStatus);
finally
CloseServiceHandle(Svc);
end;
end;
finally
CloseServiceHandle(SvcMgr);
end;
end;
end;

yundou 2004-09-23
  • 打赏
  • 举报
回复
怎么停止某个指定的服务呢?
beyondtkl 2004-09-23
  • 打赏
  • 举报
回复
也不是很麻烦 我前几天刚好做了一个NT SERVICE程序 不过是VC的 有空我改成delphi的
应该例子也很多哇 楼主找找
aiirii 2004-09-23
  • 打赏
  • 举报
回复
http://borland.mblogger.cn/aiirii/category/400.aspx

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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