如何執行外部程式並等待

有關Delphi 的語法, 程式, 等
回覆文章
頭像
tim
文章: 1318
註冊時間: 2008年 11月 26日, 00:49

如何執行外部程式並等待

文章 tim » 2008年 11月 28日, 16:08

參考來源: http://delphi.ktop.com.tw/topic.asp?topic_id=19386

進行了部分修改, 利用回傳值來判定是否成功, 若是成功會傳回 大於 32 的 handle, 若是執行失敗, 會傳回 32以下的回傳值來判定執行結果, 並修改為執行 console 的指令行為.

代碼: 選擇全部

    function CallExternWait(cmd, param: string): Integer; 
    var 
      execinfo:TSHELLEXECUTEINFO; 
    begin 
       fillchar(execinfo,sizeof(execinfo),0); 
       execinfo.cbsize:=sizeof(execinfo); 
       execinfo.lpverb:=nil; 
       execinfo.lpfile:=PAnsiChar(cmd); 
       execinfo.lpparameters:=PAnsiChar(param); 
       execinfo.fmask:=SEE_MASK_NOCLOSEPROCESS; 
       execinfo.nshow:=SW_SHOWDEFAULT; 
       shellexecuteex(@execinfo); 
       waitforsingleobject(execinfo.hprocess,infinite); 
       Result := execinfo.hprocess; 
    end;  
多多留言, 整理文章, 把經驗累積下來.....

回覆文章