Delphi 执行程序并等待完成2

2022-12-27 09:24:08 作者:admin

本文整理自网络,侵删。

 
function ExecAndWait(sExe, sCommandLine: string): Boolean;var  dwExitCode: DWORD;  tpiProcess: TProcessInformation;  tsiStartup: TStartupInfo;
begin  Result := False;  FillChar(tsiStartup, SizeOf(TStartupInfo), 0);  tsiStartup.cb := SizeOf(TStartupInfo);  if CreateProcess(PChar(sExe), PChar(sCommandLine), nil, nil, False, 0, nil, nil, tsiStartup, tpiProcess) then  begin    if WAIT_OBJECT_0 = WaitForSingleObject(tpiProcess.hProcess, INFINITE) then    begin      if GetExitCodeProcess(tpiProcess.hProcess, dwExitCode) then      begin        if dwExitCode = 0 then          Result := True        else          SetLastError(dwExitCode + $2000);      end;    end;    dwExitCode := GetLastError;    CloseHandle(tpiProcess.hProcess);    CloseHandle(tpiProcess.hThread);    SetLastError(dwExitCode);  end;end;

procedure TForm2.Button1Click(Sender: TObject);
beginExecAndWait('123.exe','');end;

相关阅读 >>

Delphi中文件名函数-路径、名称、子目录、驱动器、扩展名

Delphi 获取文件大小方法

Delphi中的处理事件 application.processmessages

Delphi 程序启动窗体控制在桌面右下角

Delphi 相对路径和绝对路径的转换

Delphi 方便的文本文件操作(text)

Delphi一个抓屏的函数

Delphi2010 无法继承窗体的bug

winapi 字符及字符串函数(8): ischarupper - 是否是个大写字母

Delphi now 返回当前日期及时间

更多相关阅读请进入《Delphi》频道 >>



在线咨询 拨打电话