如何用Dephi快速做出这个可执行文件 all.exe.如 某路径下有三个文件 a.exe,b.exe,c.exe做一个程序all.exe ,依次执行这三个程序.a执行完b,b执行完c。谁能不能给写个简单的范例代码,十分感谢!

解决方案 »

  1.   

    1. CreateProcess
    2. 进程间通信 其他没啥了。。比如说 定义全局消息A完了就发给ALL 然后。。
      

  2.   

    做批处理文件如何?
    1.bat:
    a.exe
    b.exe
    c.exe
      

  3.   

    createprocess
    wait
    createprocess
    wait
    createprocess
    wait
      

  4.   

    Function WinExecExW(cmd,workdir:pchar;visiable:integer):DWORD; 
    var 
    StartupInfo:TStartupInfo; 
    ProcessInfo:TProcessInformation; 
    begin 
    FillChar(StartupInfo,SizeOf(StartupInfo),#0); 
    StartupInfo.cb:=SizeOf(StartupInfo); 
    StartupInfo.dwFlags:=STARTF_USESHOWWINDOW; 
    StartupInfo.wShowWindow:=visiable; 
    if not CreateProcess(nil,cmd,nil,nil,false,Create_new_console or Normal_priority_class,nil,nil,StartupInfo,ProcessInfo) then 
       result:=0 
    else 
    begin 
       waitforsingleobject(processinfo.hProcess,INFINITE); 
       GetExitCodeProcess(ProcessInfo.hProcess,Result); 
    end; 
    end; 调用时,WinExecExW("a.exe","c:\",SW_SHOW);WinExecExW("b.exe","c:\",SW_SHOW);WinExecExW("c.exe","c:\",SW_SHOW);
    a.exe执行完了才执行b.exe然后才是c.exe
      

  5.   

    楼上谢谢了先,我试了下可以运行,可是那个Workdir参数好象不起作用,我定义了路径给他,可运行时还说找不到路径?????
      

  6.   

    写错了一个参数
    if not CreateProcess(nil,cmd,nil,nil,false,Create_new_console or Normal_priority_class,nil,nil,StartupInfo,ProcessInfo) 
     改成
    if not CreateProcess(nil,cmd,nil,nil,false,Create_new_console or Normal_priority_class,nil,workdir,StartupInfo,ProcessInfo)