Autor |
Beitrag |
klezmor
      
Beiträge: 558
delphi 6 personal delphi 2005 personal
|
Verfasst: Fr 23.09.05 18:40
Ich bin soeben in der Suche auf den Befehl shellexecute gestoßen.
Es gibt zwar enorm viele Threads über dieses Thema, aber ich finde keinen wo mir detailliert erklärt wird, wie diese procedure funktioniert.
Vielleicht kann mir jemand von euch eine vollständige Erklärung der Parameterliste von shellexecute geben. Eine Bitte noch wenn es nicht einen thread geben sollte, der genau dieses Thema behandelt, so verweist mich bitte nicht auf die Suchfunktion, denn die hat mich schon zur Verzweiflung gebracht.
MFG Klezmor
|
|
Seraph
      
Beiträge: 163
Windows.:siXPack:.
Delphi7 Professional
|
Verfasst: Fr 23.09.05 18:50
Klar hier:
Mit ShellExecute(Application.Handle, 'Open', 'Pfad\Datei', nil, nil, Zeigeart);
kannst du alles öffnen, was dein Betriebssystem mit einem Doppelklick ausführen kann!
für Zeigeart kannst du die arten angeben, wie das Fenster aufgerufen wird:
SW_MAXIMIZE zeigt das Fenster im Vollbild
SW_SHOW zeigt das Fenster im Normalen Modus
SW_MINIMIZE zeigt das Fenster minimiert
uses
ShellAPI
Delphi-Quelltext 1:
| ShellExecute(Application.Handle, 'open', 'C:\Test.txt', nil, nil, SW_SHOW); |
oder
Delphi-Quelltext 1:
| ShellExecute(Handle, 'open', 'C:\Test.txt', nil, nil, SW_SHOW); |
Grüße
Seraph
_________________ Wer früher stirbt ist länger tot!
|
|
klezmor 
      
Beiträge: 558
delphi 6 personal delphi 2005 personal
|
Verfasst: Fr 23.09.05 19:37
Danke das hat mir schon weiter geholfen, aber du weißt nicht zufällig für was die anderen Parameter stehen oder?
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 23.09.05 21:12
Hallo,
schau mal dort, am Ende des Tipps:
dsdt: Fehlercodes von ShellExecute
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 23.09.05 21:19
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
klezmor 
      
Beiträge: 558
delphi 6 personal delphi 2005 personal
|
Verfasst: Fr 23.09.05 21:24
Ja danke das hilft mir ein wenig, aber die einzelnen Parameter verstehe ich trotzdem nicht so ganz, z.B. was ist ein handle usw.. die Pfadangaber erklärt sich natürlich von selbst und die Form des Öffnens auch aber der Rest leuchtet mir noch nicht richtig ein
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 23.09.05 21:32
hatte nicht mal jemand genau geschrieben was handles sind? oli(asarbad) oder so.
handles sind integers (zahlen) aus einer bestimmten tabelle
im beispiel ist das ein window handle, d.h. ne zahl in der windowhandle tabelle
z.b. 12423 was dann auf das fenster des firefox "zeigt"
du gibst normalerweise da nen handle von deinem programm an (form1.handle) bei einer messagebox oder sonst irgendwas was das programm, welches du mit SHellExeCute geöffnet hast wird dann bei dem Fenster/Nachricht als Titel z.b. das gewählt was du angegeben hast.
als Bsp. hat dein Programm als fenster "BlaFrom"
du rufst jetzt den firefox auf mit Shellexecute (frorm1.handle,....)
jetzt zeigt der firefox ne nachricht an mit MessageBoxA(0,'hallo',nil,0);
da der 3. parameter nil ist wird von MSB der text des fesnters angenommen, das es mit shellexecute aber nen neues handle zugewisen bekommen hat wird dann ne MessageBox angezeigt mit dem titel "BlaFrom" anstatt "Firefox"
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
klezmor 
      
Beiträge: 558
delphi 6 personal delphi 2005 personal
|
Verfasst: Fr 23.09.05 21:43
ich weiß nicht ob ich mich zu undeutlich ausdrücke, aber eigentlich will ich nur wissen, was die einzelnen Parameter in der shellfunktion für eine Funktion haben.
Was ein handle ist habe ich jetzt einigermaßen verstanden, aber wenn ich versuche ein programm wie dieses: shellexecute(handle,'open',PCHAR('C:\Learnmaster 500.exe'),nil,nil,SW_SHOW); aufzurufen, so passiert bei mir gar nichts.
Wenn ich wüsste für was die beiden nil stehen könnte mir das vielleicht weiter helfen.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 23.09.05 21:54
Also ich weiß ja nicht, was ist daran so unverständlich wenn im MSDN diese Paramter mit lpParameters und lpDirectory erklärt werden. Dazu steht dann da noch:
Zitat: |
If the lpFile parameter specifies an executable file, lpParameters is a pointer to a null-terminated string that specifies the parameters to be passed to the application.
|
und
Zitat: |
Pointer to a null-terminated string that specifies the default directory.
|
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Fr 23.09.05 22:24
klezmor hat folgendes geschrieben: | shellexecute(handle,'open',PCHAR('C:\Learnmaster 500.exe'),nil,nil,SW_SHOW); |
machs so dann gehts:
Delphi-Quelltext 1:
| shellexecute(handle,'open',PCHAR('"C:\Learnmaster 500.exe"'),nil,nil,SW_SHOW); |
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
|