Für den Win-API-Befehl createprocess ist
ein Parameter für den Zugriff auf die
Umgebungsvariable mit der Struktur
plvoid definiert. Wie definiert man solch
eine Datenstruktur unter Delpi?
Die sind beide bereits vordefiniert in der Windows.pas-Unit denk ich mal als TProcessInformation und TStartUpInfo
var
StartUpInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
begin
Result := False;
Fillchar(StartUpInfo, sizeof(StartUpInfo), 0);
with StartUpInfo do
begin
cb := sizeof(StartUpInfo);
dwflags := STARTF_USESHOWWINDOW;
wShowWindow := SW_SHOWNORMAL;
end;
if CreateProcess(nil, pchar(CmdLine), nil, nil, false, 0, nil, nil, StartUpInfo, ProcessInfo) then
(…)
Besseres Beispiel
Dieses Snippet zeigt aus einer Unit die ich mal gemacht hab zeigt die Sache besser:
function ExecuteProcess(CmdLine : String) : boolean;
{ Create an additional process but continue with current process also }
var
StartUpInfo : TStartupInfo;
ThisProcessInfo : TProcessInformation;
begin
Fillchar(StartUpInfo, sizeof(StartUpInfo), 0);
With StartUpInfo do
begin
cb := sizeof(StartUpInfo);
dwflags := STARTF_USESHOWWINDOW;
wShowWindow := SW_SHOWNORMAL;
end;
Result := CreateProcess(nil,
pchar(CmdLine),
nil,
nil,
false,
0,
nil,
nil,
StartUpInfo,
ThisProcessInfo);
end;