Wieso hast du da 2x --? Das ist nicht Windows konform. Das normale Zeichen für Parameter ist in Windows das /-Zeichen. Alternativ geht aber auch Unix Like das - Zeichen. Das doppelte -- ist aber eher unüblich und würde ich nicht so nutzen.
ShellExecute(0, 'open', PChar('programm.exe'), PChar('-ID="Atikelnummer" -administrator="C:\temp"'), nil, SW_SHOWNORMAL);
Im Programm.exe kannst du die Parameter dann wie folgt auswerten und damit weiter arbeiten:
Delphi-Quellcode:
for i := 1 to ParamCount - 1 do
begin
Param := AnsiLowerCase(ParamStr(i));
if Param <> '' then
begin
if (Param = '-id') or (Param = '/id') then
ArtikelNr := ParamStr(i+1);
if (Param = '-administrator') or (Param = '/administrator') then
Admin := ParamStr(i+1);
end;
end;