Ich will mit Delphi ein externes Programm starten. Dies geht ja mit Shellexecute, doch was muss ich meinem Quelltext hinzufügen, um diesen Befehl zu nützen?
Gibt es im Internet eine deutsche Erklärung der WinAPI?
Danke
Mario
Ich will mit Delphi ein externes Programm starten. Dies geht ja mit Shellexecute, doch was muss ich meinem Quelltext hinzufügen, um diesen Befehl zu nützen?
Gibt es im Internet eine deutsche Erklärung der WinAPI?
Danke
Mario
Hier ist ein kleines Beispiel wie man ein Programm aufruft:
procedure TfrmMain.Label9DblClick(Sender: TObject);
var
tempname : array[0…255] of Char;
begin
StrPcopy(tempname,‚winword‘);
ShellExecute(Handle,nil,tempname,nil,nil,0);
end;
Du mußt im uses-Abschnitt shellapi hinzufügen. Anstelle von winword kannst Du auch den kompletten Pfad eines Programms angeben. Das funktioniert auch mit registrierten Anwendungen z.B.: ‚mailto:[email protected]‘, startet die registrierte Mailanwendung mit dem Empfänger bereits eingetragen.
Hi Mario,
es reicht eigentlich eine Zeile:
ShellExecute(Handle, nil, PChar(ExtProg), nil, nil, SW_SHOW);
wobei ExtProg ein String mit der aufzurufenden Kommandozeile ist (Pfad + ProgName + Parameter)…Mit dem Cast auf PChar kannst Du Dir lokale Hilfsvariablen und das Umwandeln des Strings sparen.
Das nächste Beispiel ruft z.B. den Explorer in einem bestimmten Verzeichnis und mit Parametern auf:
ShellExecute(Handle, nil, ‚Explorer.exe‘, ‚/n,/e,‘, PChar(CurrentDir), SW_NORMAL);
Thomas