OMG - Es tut mir wirklich unendlich leid, daß ich einen kompletten Abschnitt aus diesem Forum "kopiert" habe, ich rufe aber dennoch nicht mit true auf, wie mein echter Code ausschnitt beweist:
Delphi-Quellcode:
function RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID: PDWORD): Longword;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
StartupInfo.wShowWindow := ShowCmd;
if not CreateProcess(nil,
@Filename[1],
nil,
nil,
false, // habe hier bereits true und false ausprobiert ohne jeglichen Erfolg
CREATE_NEW_CONSOLE or
NORMAL_PRIORITY_CLASS,
nil,
PAnsiChar (ExtractFilePath (FileName)),
StartupInfo,
ProcessInfo)
then
Result := WAIT_FAILED
else
begin
if wait = FALSE then
begin
if ProcID <> nil then ProcID^ := ProcessInfo.dwProcessId;
GameMaker.Label61.caption := 'Ohne Wait';
exit;
end;
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess, Result);
end;
if ProcessInfo.hProcess <> 0 then
CloseHandle(ProcessInfo.hProcess);
if ProcessInfo.hThread <> 0 then
CloseHandle(ProcessInfo.hThread);
end;
...
RunProcess(D2ExeEdit.Text + ' ' + tmpStrg, WindowStyle, FALSE, @ProcID);
P.S.: Leider hat diese ganze Diskussion bisher noch nichts gebracht, also noch Vorschläge?