ShellExecuteEx不像我期望的那样工作

时间:2015-05-03 07:49:08

标签: delphi shellexecute

我使用以下函数启动MS Word并打开文件。这样做没问题但Word应用程序在我的应用程序之上没有最大化。这是不可能添加到我的功能?

function TFiles.ExecuteAndWait(const aFile: string; aParam: string = ''; const aHidden: boolean = False): integer;
var
  SEInfo: TShellExecuteInfo;
  ExitCode: DWORD;
begin
  FillChar(SEInfo, SizeOf(SEInfo), 0) ;
  SEInfo.cbSize := SizeOf(TShellExecuteInfo) ;
  with SEInfo do
    begin
      fMask := SEE_MASK_NOCLOSEPROCESS;
      Wnd := Application.Handle;
      lpFile := PChar(aFile) ;
      lpParameters := PChar(aParam) ;
      if aHidden = True then
        nShow := SW_HIDE
      else
        nShow := SW_SHOWNORMAL;
    end;
  if ShellExecuteEx(@SEInfo) then
    begin
      repeat
        Application.ProcessMessages;
        GetExitCodeProcess(SEInfo.hProcess, ExitCode) ;
      until (ExitCode <> STILL_ACTIVE) Or Application.Terminated;
      Result := ExitCode;
    end
  else
    Result := -1;
end;

0 个答案:

没有答案