程序隐藏在调用它的程序后面

时间:2017-06-22 09:23:25

标签: delphi delphi-10.1-berlin

使用 Winapi.Windows 单元中的 CreateProcess 功能,我打开另一个可执行文件,但是当它打开时,它不显示在可执行文件的顶部叫它。

以下是我整理的程序:

procedure Tfrm1.ExecuteProg(Cmdl: String; Pause: Boolean);
var SI : TStartUpInfo;
    PI: TProcessInformation;
begin
 FillChar(SI, Sizeof(SI), 0);

 with SI do
 begin
  cb := SizeOf(TStartUpInfo);
  dwFlags := StartF_UseShowWindow;
  wShowwindow := SW_SHOWNORMAL;
 end;

 if (CreateProcess(nil, PChar(Cmdl), nil, nil, False, 0, nil, nil, SI, PI)) then
  if Pause then WaitForInputIdle(PI.hProcess, INFINITE);
end;

我还需要做些什么吗?

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:-1)

在调用上述程序后,我执行了以下操作:

WinHandle := FindWindow(nil, WindowName);

if WinHandle <> null
  then SetForegroundWindow(WinHandle);