Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateien von Delphi aus öffnen (https://www.delphipraxis.net/60136-dateien-von-delphi-aus-oeffnen.html)

icqgoofy 3. Jan 2006 17:17


Dateien von Delphi aus öffnen
 
Und noch eins:

Wie kann ich von Delphi aus andere Programme öffnen?
Ich würde gerne per ButtonClick eine andere .exe-Datei ausführen.
In meinem Fall möchte ich Paint öffnen.
Ich habe es über

OpenFile('C:\....\Paint.exe');

versucht.

Gruß icqgoofy

3_of_8 3. Jan 2006 17:20

Re: Dateien von Delphi aus öffnen
 
ShellExecute(Handle,'open','Dateiname',nil,nil,0);

faux 3. Jan 2006 17:20

Re: Dateien von Delphi aus öffnen
 
Hallo!

Das funktioniert mit ShellExecute() aus der WinAPI.

Grüße
Faux

Edit:
Ich hatte keinen Kasten. :roll:

Thorben77 3. Jan 2006 17:26

Re: Dateien von Delphi aus öffnen
 
Eine andere Möglichkeit, ohne ShellExecute, hat Luckie in der "Code-Library" hier und hier ge-/beschrieben.

MfG

icqgoofy 3. Jan 2006 17:43

Re: Dateien von Delphi aus öffnen
 
Ich hab es mit dem ShellExecute versucht:

Delphi-Quellcode:
procedure TForm1.BSchliessenClick(Sender: TObject);
begin
  ShellExecute(Handle,'open','C:\Programme\Zubehör\Paint.exe',nil,nil,0);
  Close;
end;
Aber er zeigt als Fehler an:
[Error] Unit1.pas(29): Undeclared identifier: 'ShellExecute'

Kann mir jemand helfen?

Danke schön

Gruß icqgoofy :mrgreen:

Thorben77 3. Jan 2006 17:45

Re: Dateien von Delphi aus öffnen
 
Wahrscheinlich hast Du die Unit "ShellAPI" nicht eingebunden. :wink:

ManuMF 3. Jan 2006 18:28

Re: Dateien von Delphi aus öffnen
 
Ein Tipp: Verwende statt 'open' nil. Manchmal funktioniert es bei EXEn sonst nicht.

Gruß,
ManuMF

faux 3. Jan 2006 19:27

Re: Dateien von Delphi aus öffnen
 
Zitat:

Zitat von 3_of_8
ShellExecute(Handle,'open','Dateiname',nil,nil,0);

Wenn du ihm schon die Parameter gibst, dann erkläre sie doch wenigstens.
Woher soll er wissen, dass das erste nil die Parameter und das zweite nil das Arbeitsverzeichnis repräsentieren?

Tipp: MSDN-Library durchsuchenShellExecute bzw ShellExecute.

Zitat:

Zitat von ManuMF
Ein Tipp: Verwende statt 'open' nil. Manchmal funktioniert es bei EXEn sonst nicht.

MSDN:
open
Opens the file specified by the lpFile parameter. The file can be an executable file, a document file, or a folder.

NULL
For systems prior to Microsoft Windows 2000, the default verb is used if it is valid and available in the registry. If not, the "open" verb is used.

For Windows 2000 and later systems, the default verb is used if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry.


@icqgoofy:
Der Pfad von Paint ist nicht C:\Programme\Zubehör\Paint.exe, sondern C:\WINDOWS\system32\mspaint.exe. Wenn du das Programm veröffentlichen willst, also nicht nur für dich alleine Programmierst, solltest du es mit der Umgebungsvariable SystemRoot machen, da man Windows auch in ein anderes Verzeichnis oder auf einen anderen Laufwerksbuchstaben installieren kann.

Zitat:

Zitat von 3_of_8
Er will Paint öffnen, oder? Also reicht meine Variante.

reichen ist relativ. ;)
Was ist, wenn er gleich ein BIld laden will? :zwinker:

Grüße
Faux

3_of_8 3. Jan 2006 19:32

Re: Dateien von Delphi aus öffnen
 
Er will Paint öffnen, oder? Also reicht meine Variante.

Wenn es um CreateProcess ginge, könnte ich ihm auch zwei Seiten lang alle möglichen Parameter erklären, auch wenn er sie nicht braucht.

icqgoofy 3. Jan 2006 19:54

Re: Dateien von Delphi aus öffnen
 
@Thorben77:

Danke, daran hats gelegen!

An alle andern: ach danke!


Gruß icqgoofy


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.
Seite 1 von 2  1 2      

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