Einzelnen Beitrag anzeigen

Doktor Ruff

Registriert seit: 10. Okt 2006
8 Beiträge
 
#5

Re: Probleme mit WaitForSingleObject

  Alt 22. Dez 2006, 08:17
Ich hab meinen Code mal so umgebaut, dass ich mit GetExitCodeProcess auf das Beenden warte, aber irgendwie springt er sofort aus der Schleife raus. Ich habe die Befürchtung, dass es an meinem ShellExecuteEx liegt. Damit führe ich ja lediglich eine Kommandozeile aus.

So sieht das jetzt genau aus:
Delphi-Quellcode:
var
  SHELLINFO : TShellExecuteInfo;
  lpExitCode : Cardinal;
begin
  // fillChar(SHELLINFO, SizeOf(SHELLINFO), #0);

  with SHELLINFO do
  begin
    cbSize := SizeOf(SHELLINFO);
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := 0;
    lpVerb := nil;
    lpFile := PChar('explorer');
    lpParameters := PChar(startHTML);
    lpDirectory := nil;
    nShow := SW_SHOWNORMAL;
  end;
  try
    ShellExecuteEx(@SHELLINFO);

    WaitForInputIdle(SHELLINFO.hProcess, 3000);

    repeat
      Sleep(0);
      Application.ProcessMessages;
      showMessage(IntToStr(SHELLINFO.hProcess));
      GetExitCodeProcess(SHELLINFO.hProcess, lpExitCode);
    until (lpExitCode <> STILL_ACTIVE);
    showMessage('Blob');
  except
    on E:Exception do showmessage(e.Message);
  end;
end;
Kann ich denn auch mit CreateProcess den Standardbrowser aufrufen?
  Mit Zitat antworten Zitat