Do uruchomienia programu z parametrami wykorzystaj ShellExecute
Do uruchomienia innej aplikacji ShellExecute może być ale jeśli chodzi o parametry już sobie rady nie daje.
Przykładowy kod poniżej. Sprawdziłem i działa ok pod Lazarusem 64 bitowym.
//...
{$MODE DELPHI}
uses
Windows;
function ExecNewProcess(ProgramName : string; CmdShow : LongWord) : DWORD;
var
SI : TStartupInfo;
PI : TProcessInformation;
begin
ZeroMemory(@SI, SizeOf(SI));
SI.cb := SizeOf(SI);
SI.dwFlags := STARTF_USESHOWWINDOW;
SI.wShowWindow := CmdShow;
CreateProcess(nil, PChar(ProgramName), nil, nil, False, 0, nil, nil, SI, PI);
Result := PI.dwProcessId
end;
Przykład użycia:
ExecNewProcess('cmd.exe /C pause', SW_SHOW);
Olesio twoje rozwiązanie jest jak najbardziej trafne, działa program z parametrami bez najmniejszego problemu.
Post chciałem już zamykać, lecz nie wiedziałem że tak burzliwą dyskusję wprowadzi.
kAzek masz rację program będzie używany tylko w środowisku windows, choć
ma za zadanie uruchomić program dosowy.
3y4hsg będę wdzięczny za podpowiedzi lub przykłady jak stosować TProcess.