如何在delphi中执行命令,如:"XXX.exe install"
"net start XXX.exe"等。。

解决方案 »

  1.   

    CreateProcess
    www.china-askpro.com/msg18/qa84.shtml 
      

  2.   

    向大家说的,都是具体的启动另外的一些进程。但是具体的执行的是一句命令,怎么做??。比如执行的是“net start xxx.exe”启动服务。
      

  3.   

    这就是执行一个shell而已,用shellexecute就可以了。
      

  4.   

    ShellExecute(self.Handle, 'Open', PChar('net start xxx.exe'), nil, nil, SW_SHOWNORMAL);
      

  5.   

    我也觉得用shellexecute就行了啊,但是如果不合楼主的意思的话, 是不是楼主补充一下你的具体意思呢?
      

  6.   

    这样 ShellExecute(Handle,'','net start XXXX.exe','','',SW_SHOWNORMAL) 
    执行后,我的服务程序好想没有起来呀。。没有反映。具体是这样吗?启动服务程序有没有其他的条件?
    声明一下:我的服务程序是好的。已经跑了好久了
      

  7.   

    procedure TForm1.runcommand(filename,para:ansistring);
    var WindowHandle:HWND;
    var commandline:ansistring;
    StartupInfo:TStartupInfo;
    ProcessInfo:TProcessInformation;
    begin
    commandline:=filename+' '+para;
    //showmessage(commandline);
      FillChar(StartupInfo,Sizeof(StartupInfo),#0);
      StartupInfo.cb := Sizeof(StartupInfo);
      StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
      StartupInfo.wShowWindow := SW_HIDE ; if not CreateProcess(nil,
        pchar(commandline),
        nil,
        nil,
        false,
        CREATE_NEW_CONSOLE or
        NORMAL_PRIORITY_CLASS,
        nil,
        nil,
        StartupInfo,
        ProcessInfo) then
       begin   end
     else
       begin
        WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
        //命令执行完后再会继续下去
       end;
    end;