Einzelnen Beitrag anzeigen

silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#4

Re: Warten, bis aufgerufener Prozess beendet ist

  Alt 28. Aug 2007, 23:46
Zitat von Binärbaum:
Allerdings glaube ich mich zu erinnern, dass es auch eine entsprechende Funktion für den Aufruf eines Prozesses gibt, die dann auch direkt wartet, bis der aufgerufene Prozess abgearbeitet ist, jedoch ist mir der Name entfallen. Weiß jemand, wie diese Funktion heißt?
Meinst Du zufällig das hier?:
Delphi-Quellcode:

procedure ShellExecAndWait(dateiname: string; Parameter: string);
var executeInfo: TShellExecuteInfo;
    dw: DWORD;
begin
 FillChar(executeInfo, SizeOf(executeInfo), 0);
 with executeInfo do begin
   cbSize := SizeOf(executeInfo);
   fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT;
   Wnd := GetActiveWindow();
   executeInfo.lpVerb := 'open';
   executeInfo.lpParameters := PChar(Parameter);
   lpFile := PChar(dateiname);
   nShow := SW_SHOWNORMAL;
 end;
 if ShellExecuteEx(@executeInfo) then dw := executeInfo.HProcess
 else begin
   ShowMessage('Fehler: ' + SysErrorMessage(GetLastError));
   Exit;
 end;
 while WaitForSingleObject(executeInfo.hProcess, 50) <> WAIT_OBJECT_0 do
   Application.ProcessMessages;
 CloseHandle(dw);
end;
Ruft das programm mittels ShellExecute(Ex) auf und wartet mittels WaitForSingleObject auf dessen Ende.

muss allerdings gestehen, dass ich nicht mehr weiß, wo ich das herhabe
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat