精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Windows API函数>>如何执行一个外部程序并等待他的结束

主题:如何执行一个外部程序并等待他的结束
发信人: kingron(金龍)
整理人: teleme(2001-01-03 15:21:45), 站内信件
//下面的函数执行一个程序并且等待他的结束。
//在外部的程序结束运行之前,不能做任何操作!
//Ex:WinExecW('c:\windows\notepad.exe','',sw_show);

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;


----
██████
█┏━━┓█
█┃之金┃█   Delphi版直达快车
█┃印龍┃█
█┗━━┛█
██████
 

[关闭][返回]