exe1 中运行exe2并且传递参数。只需要
只需要在EXE1中写
winexec('exe2.exe a b',sw_shownormal)在exe2中使用
ParamCount
ParamStr(N)那么如果EXE1关闭的时候,怎么保证让EXE2也关闭呢? 

解决方案 »

  1.   

    EXE1在退出事件里调用TerminateProcess结束EXE2的进程
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject); 
    var 
      si:STARTUPINFO; 
      pi:PROCESS_INFORMATION; 
    begin 
    FillChar(si, SizeOf(si),0); 
    si.dwFlags := STARTF_USESHOWWINDOW; 
    si.cb:=SizeOf(si); 
    si.wShowWindow := SW_Show; 
    CreateProcess(0,'calc.exe',nil, nil, False,NORMAL_PRIORITY_CLASS, nil, nil,si,pi); 
    CloseHandle(pi.hProcess); 
    Sleep(3000); 
    TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS,FALSE,pi.dwProcessId),0); 
    end;