Hallo,
da seh ich gerade noch:
ShExecInfo.cbSize := sizeof(SHELLEXECUTEINFOA);
Hier sollte das
A hinten noch weg.
Und dann noch eine Frage zu dem WaitFor:
Sollte man hier nicht auch auf Application.Terminated prüfen? Ist vielleicht eine Glaubensfrage für den Anwendungsfall aber ich würde es machen. Also etwa so:
Delphi-Quellcode:
repeat
RetValue := MsgWaitForMultipleObjects(1, ShExecInfo.hProcess, False, INFINITE, QS_ALLINPUT);
if RetValue <> WAIT_OBJECT_0 then
Application.ProcessMessages;
until (RetValue = WAIT_OBJECT_0) or Application.Terminated;
Gruß, Chris