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),
nil , nil , True, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
nil , nil , lpStartupInfo, lpProcessInformation);
if bCreateProcess then // 等外部进程的结束
WaitForSingleObject(lpProcessInformation.hProcess, INFINITE);
end ;
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),
nil , nil , True, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
nil , nil , lpStartupInfo, lpProcessInformation);
if bCreateProcess then // 等外部进程的结束
WaitForSingleObject(lpProcessInformation.hProcess, INFINITE);
end ;
转载于:https://www.cnblogs.com/rogee/archive/2010/09/15/1827304.html