Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
RAD-Studio 2009 Ent
|
CreateProcess mit Parameterübergabe?
22. Feb 2006, 21:29
Moin,
ich greife mal die Funktion runprocess aus der Code Library auf:
Delphi-Quellcode:
function RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID: PCardinal): 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,
CREATE_NEW_CONSOLE or
NORMAL_PRIORITY_CLASS,
nil,
nil,
StartupInfo,
ProcessInfo)
then
Result := WAIT_FAILED
else
begin
if wait = FALSE then
begin
if ProcID <> nil then ProcID^ := ProcessInfo.dwProcessId;
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;
Aufgerufen durch:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
ProcID: Cardinal;
begin
if OpenDialog1.Execute then
RunProcess(OpenDialog1.FileName, SW_MINIMIZE, TRUE, ProcID);
Messagebox(0, 'fertig', @OpenDialog1.Filename[1], 0);
end;
Wie kann man hier noch (2) Parameter übergeben?
Gruss
EL
Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
|
|
Zitat
|