上一篇 | 下一篇

如何运行一个程序直到它结束

发布: 2008-6-26 20:33 | 作者: admin | 来源: | 查看: 0次

width="84%">如何运行一个程序直到它结束

function WinExecAndWait32(FileName:String; Visibility :

integer):integer;

var

zAppName:array[0..512] of char;

zCurDir:array[0..255] of char;

WorkDir:String;

StartupInfo:TStartupInfo;

ProcessInfo:TProcessInformation;

begin

StrPCopy(zAppName,FileName);

GetDir(0,WorkDir);

StrPCopy(zCurDir,WorkDir);

FillChar(StartupInfo,Sizeof(StartupInfo),#0);

StartupInfo.cb := Sizeof(StartupInfo);

StartupInfo.dwFlags := STARTF_USESHOWWINDOW;

StartupInfo.wShowWindow := Visibility;

if not CreateProcess(nil,

zAppName,

{ pointer to command line string }

nil,

{ pointer to process security attributes }

nil,

{ pointer to thread security attributes }

false,

{ handle inheritance flag }

CREATE_NEW_CONSOLE or

{ creation flags }

NORMAL_PRIORITY_CLASS,

nil,

{ pointer to new environment block }

nil,

{ pointer to current directory name }

StartupInfo,

{ pointer to STARTUPINFO }

ProcessInfo) then Result := -1 { pointer to PROCESS_INF }

else begin

WaitforSingleObject(ProcessInfo.hProcess,INFINITE);

GetExitCodeProcess(ProcessInfo.hProcess,Result);

end;

end;

字号: | 推荐给好友

评分:0

我来说两句