我的意思是,批处理是dos程序,而且里面的command也是dos程序,其中dos窗口名交替变更,很难确定批处理何时结束。

解决方案 »

  1.   

    呵呵,有一个等待外部程序结束的例程,你可以搜索一下,“如何等待一个外部程序运行结束“,要不我吧它写出来,也好骗一点分数: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;