并且启动服务。和怎么删除服务?

解决方案 »

  1.   

    http://borland.mblogger.cn/aiirii/category/400.aspx
      

  2.   

    也不是很麻烦 我前几天刚好做了一个NT SERVICE程序 不过是VC的 有空我改成delphi的 
    应该例子也很多哇 楼主找找
      

  3.   

    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;
      

  4.   

    找了半天从老早以前做的项目中摘录一段,停止:Control(SERVICE_CONTROL_STOP);还有WinSvc这个单元要uses
      

  5.   

    还忘记了,那个函数是特定的,所以有Name,你自己可要修正的阿,不要这个都不会阿
      

  6.   

    写好的Delphi服务,编译后 运行带参数 /INSTALL就安装了/UNINSTALL就卸掉了/SILENT保持安静不出对话框
      

  7.   

    还有对于正在运行的服务/UNINSTALL一般情况下是不会卸掉的,只是标记禁用,然后下次启动的时候才会真正卸掉,这有个技巧,可以响应卸载消息,在消息中服务器程序自己停止自己。这样就可以卸掉了。
      

  8.   

    说了那么多,俺徒弟俺都没这么教过,对他就一句话,买本《wingdows核心编程》自己看去。