如题

解决方案 »

  1.   

    如果你的服务程序 为MySvr1.exe
    则可以执行  MySvr1 /install .
      

  2.   

    不是普通程序都能 /install 的,需要自己在dpr里面定义
    function Installservice: Boolean;
    begin
      Result := FindCmdLineSwitch('INSTALL',['-','\','/'], True) or
                FindCmdLineSwitch('UNINSTALL',['-','\','/'], True);
    end;
    然后判断是注册成服务还是普通窗体启动
     if Installservice then
      begin
        SvcMgr.Application.Initialize;
        MyService := TMyService.CreateNew(SvcMgr.Application, 0);
        SvcMgr.Application.CreateForm(Tmainform, mainform);
        mainform.suiform1.TitleBarButtons.Items[1].Destroy;
        mainform.N9.Enabled:=false;
        mainform.Form1.Caption:='ROD系统 --  控制中心  NT Service ' ;
        mainform.Memo1.Lines.Add('本系统由NT服务模式启动  '+ datetimetostr(now));
        SvcMgr.Application.Run;
      end else
      begin
        Forms.Application.ShowMainForm := False;
        Forms.Application.Initialize;
        Forms.Application.CreateForm(Tmainform, mainform);
        Forms.Application.Run;
      end;当然在你的单元文件里面需要定义myservice,如果有不明白的发到[email protected]我给源码
      

  3.   

    在source目录下有demo,可以自己去看看