Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei öffnen/ausführen (https://www.delphipraxis.net/63313-datei-oeffnen-ausfuehren.html)

mindforce 16. Feb 2006 18:02


Datei öffnen/ausführen
 
Datei öffnen/ausführen

Mit ShellApi bzw. Shellexecute kann man Deiteien öffnen/ausführen.
Früher wurde noch die Funktion "Winexec" benutzt. Winexec ist natürlich schon veraltet. Und es wird später vieleicht in den nächsten Windows versionen NICHT mehr verfügbar sein.

Hier endlich der Code:

Delphi-Quellcode:
uses ...shellapi

procedure TForm1.Button1Click(Sender: TObject);
begin

 ShellExecute(Application.Handle, 'open', PChar('C:\bla.txt'),
   Nil, Nil, SW_NORMAL);

end;
TIPP: Um Programme auszuführen, benutzt man besser CreateProcess.
TIPP: Dieser Code ist kürzer als der hier .
Gruss,

Mindforce

Rastaman 16. Feb 2006 18:04

Re: Datei öffnen/ausführen
 
Is das jetz Ironie :gruebel:

alcaeus 16. Feb 2006 18:07

Re: Datei öffnen/ausführen
 
Gibts schon mal: http://www.delphipraxis.net/internal...=478066#478066

Zitat:

Zitat von mindforce
TIPP: Um Programme auszuführen, benutzt man besser CreateProcess.

Das darfst du mir jetzt mal erklaeren :gruebel:

Greetz
alcaeus

ichbins 16. Feb 2006 18:08

Re: Datei öffnen/ausführen
 
ShellExecute bei einer .EXE ruft ja auch nur CreateProcess auf. Somit ist es überflüssig.

mindforce 16. Feb 2006 18:09

Re: Datei öffnen/ausführen
 
Ja ich weiss. Hab ich auch schon gefunden. DANN HABE ICH MIR GEDACHT, schreibst ma den kürzeren rein.

Gruss,

Mindforce

dahead 16. Feb 2006 18:17

Re: Datei öffnen/ausführen
 
Die sind alle kürzer. Ohne dich kränken zu wollen, es gibt bereits einige Einträge in der Codelib ShellExecuteShellExecute zu diesem Thema. Von daher ist deines überflüssig und kann gelöscht werden.

Sogar ohne diese Funktion.

mindforce 16. Feb 2006 18:20

Re: Datei öffnen/ausführen
 
Zitat:

Zitat von dahead

Ein toller Link!

//Edit Nein. Der Link funzt nicht!!!!!!!!!!!!!!1

dahead 16. Feb 2006 18:21

Re: Datei öffnen/ausführen
 
Zitat:

Zitat von mindforce
Zitat:

Zitat von dahead

Ein toller Link!

also bitte, klick halt mal drauf.

edit: link korrigiert.

Khabarakh 16. Feb 2006 18:22

Re: Datei öffnen/ausführen
 
Zitat:

Zitat von mindforce
Ja ich weiss. Hab ich auch schon gefunden. DANN HABE ICH MIR GEDACHT, schreibst ma den kürzeren rein.

Gruss,

Mindforce

Aha. Matze warnt vor ShellExecute und bietet einen besseren Code. Sch***egal, denkst du, ich schreib einfach nochmal den schlechteren rein. Super Einstellung :thumb: !
Und kannst du mir bitte mal verraten, was du mit dem Eintrag unter "min. Windows- / .NET-Version:" meinst?

SirThornberry 16. Feb 2006 18:23

Re: Datei öffnen/ausführen
 
Es gibt zu recht vielen funktionen auch eine Ex-Funktion. Deswegen heißt es noch lange nicht das die Funktionen ohne ex nicht benutzt werden sollen und lieber direkt die Ex-Funktionen genutzt werden sollen. Genau so verhält es sich auch mit ShellExecute und CreateProcess. Wenn man die zusätzlichen parameter von CreateProcess nicht benötigt, ist nix verwerfliches daran ShellExecute zu verwenden.
Schließlich erstellt man ja auch nicht alle VCL-Klassen wie TForm, TButton etc. neu nur weil sie einige properties haben die man nicht benötigt. Es spricht in den wenigstens Fällen etwas gegen eine Kappselung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz