Coś źle robisz, chyba jakieś spacje tam niepotrzebnie dałeś po nazwie exe, ale bez wstawienia kodu w tsgi źle widać.
Zrobilem tak. Pierwszy wycinek kody to testowy program test.exe ktory wrzuciłem od razu do D:, a później kodem
drugim go wywołalem i otrzymalem napis: "Parametry: parametr 1 parametr 2 parametr 3" (bez " i ") - czylli ok.
program test;
{$APPTYPE GUI}
uses
Windows;
var
S : string;
I : integer;
begin
S := '';
for I := 1 to ParamCount do
S := S + #32 + ParamStr(I);
MessageBox(GetACtiveWindow, PChar('Parametry: ' + S), 'To tylko test', MB_ICONINFORMATION + MB_OK);
end.
uses
SHellApi;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', PChar('D:\test.exe'),
PChar('"parametr 1" "parametr 2" "parametr 3"'), nil, SW_SHOW);
end;