内容如题,曾经我在一个网上见过类似的,但现在需要的时候偏偏找不到我很需要你们的帮助

解决方案 »

  1.   

    转:
    uses Registry, ShellAPI, FileCtrl, Unit2;
    {$R *.DFM}function IsNT: Boolean;
    begin
      Result := (Win32MajorVersion >= 4) and (Win32Platform = VER_PLATFORM_WIN32_NT);
    end;var
      IsExists: Boolean = False;
    function IsExistsMSSQL: Boolean;
    const
      MSSQLSERVER = 'SOFTWARE\Microsoft\MSSQLServer';
    var
      Reg: TRegistry;
    begin
      Result := IsExists;
      if Result then Exit;
      if not IsNT then
        Reg := TRegistry.Create else
        Reg := TRegistry.Create(KEY_READ);
      with Reg do
      try
        Reg.RootKey := HKEY_LOCAL_MACHINE;
        Result := KeyExists(MSSQLSERVER);
        IsExists := Result;
      finally
        Free;
      end;
    end;const
      MSSQL_98StartCommand = 'scm -action 1 -pwd "%s"';
      MSSQL_NTStartCommand = 'net start mssqlserver';
      MSSQL_98StopCommand = 'scm -action 6';
      MSSQL_NTStopCommand = 'net stop mssqlserver';function StartMSSQL(Pass: string): Boolean;
    var
      S: string;
    begin
      Screen.Cursor := crHourGlass;
      try
        if not IsNT then
          S := Format(MSSQL_98StartCommand, [Pass]) else
          S := MSSQL_NTStartCommand;
        try
          WinExec(PChar(S), SW_HIDE);
          Result := True;
        except
          Result := False;
        end;
      finally
        Screen.Cursor := crDefault;
      end;
    end;function StopMSSQL: Boolean;
    begin
      Screen.Cursor := crHourGlass;
      try
        try
          if not IsNT then
            WinExec(MSSQL_98StopCommand, SW_HIDE) else
            WinExec(MSSQL_NTStopCommand, SW_HIDE);
          Result := True;
        except
          Result := False;
        end;
      finally
        Screen.Cursor := crDefault;
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      if StartMSSQL(edPass.Text) then
        MessageBox(Handle, '启动完成', '完成', MB_OK + MB_ICONINFORMATION);
    end;
      

  2.   

    你可以使用 Net Start Mssqlserver来启动服务,或者可以使用WINAPI来激活服务。