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

yundou 2004-09-23 02:03:38
并且启动服务。和怎么删除服务?
...全文
87 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-09-23 02:03
社区公告
暂无公告