procedure TForm1.Button1Click(Sender: TObject);
var
  sCommandLine: 
string;
  bCreateProcess: boolean;
  lpStartupInfo: TStartupInfo;
  lpProcessInformation: TProcessInformation;
begin
  sCommandLine :
= 'C:\TEST.EXE';
  
//初始化StartupInfo
  FillChar(lpStartupInfo, Sizeof(TStartupInfo), #
0);
  lpStartupInfo.cb :
= Sizeof(TStartupInfo);
  lpStartupInfo.dwFlags :
= STARTF_USESHOWWINDOW;
  lpStartupInfo.wShowWindow :
= SW_NORMAL;

  bCreateProcess :
= CreateProcess(nil, PChar(sCommandLine),
    
nilnil, True, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
    
nilnil, lpStartupInfo, lpProcessInformation);
  
if bCreateProcess then      //等外部进程的结束
    WaitForSingleObject(lpProcessInformation.hProcess, INFINITE);
end;

 

 

posted on 2010-09-15 17:39  °ι 、曲 终  阅读(1016)  评论(0)    收藏  举报