Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi Kommandozeile

  Alt 23. Jun 2020, 13:23
Wenn ich Dich richtig verstanden habe, hast Du ein Formular auf dem ein TEdit oder ähnlich liegt.
Dann möchtest Du "was auch immer im TEdit steht" an ein Drittprogramm als Aufruf weiterleiten, soweit korrekt?

so ist der eigentliche aufruf:
ShellExecute(Handle, PChar('open'), PChar('"X:\Pfad\ProgrammName.exe"'), PChar('"Parameter 1" "Parameter 2" "usw"'), nil, SW_SHOWNORMAL);

oder konkret für Deine Angabe samt Fehlerauswertung laut Listing vom ersten Suchtreffer:
Delphi-Quellcode:
procedure IrgendeinKnopfClick(Sender: TObject);
var
  ExecResult: Integer
begin
  try
    ExecResult := ShellExecute(0, 'open', PChar('"programm.exe"'), PChar('"--ID='+Artikelnummer+'" "--administrator="C:\temp""'), nil, SW_SHOWNORMAL);
    if ExecResult <= 32 then
      ShowMessage('Fehlercode: ' + IntToStr(ExecResult));
  except
    ShowMessage('Fehler');
  end;
end;
Eine Variable "Artikelnummer" sollte halt im Scope der procedure IrgendEinKnopfClick bekannt sein, ich kenn ja Deinen Code nicht.
Falls ich mich nicht vertippt habe, sollte es passen.
Es ist ratsam einen Pfad vor "programm.exe" zu tippen, deswegen habe ich es in "" gesetzt.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat