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 ShellExecute Eigenschaften! (https://www.delphipraxis.net/2799-shellexecute-eigenschaften.html)

fedderle 7. Feb 2003 17:41


ShellExecute Eigenschaften!
 
Hallo.

Habe mich hier mal nach einem Befehl umgesehn, mit dem man Exe-Dateien ausführen kann und bin dabei auf "ShellExecute" gestoßen. Habe aber nichts finden können, wo etwas über die Eigenschaften dieses Befehls steht.
Kann mir jemand die einzelnen Eigenschaften von Shell Execute erklären.
Code:
ShellExecute(Handle, nil, Filename, nil, nil, SW_SHOW)
Also. Was bedeutet/bewirkt "Handle" und "nil" und "SW_SHOW"?

Steffen

CalganX 7. Feb 2003 17:52

Handle ist die Eigenschaft Handle (auch Adresse genannt) des Formulars. nil ist ein leerer Pointer und SW_SHOW ist die Anzeigeart.

Chris

fedderle 7. Feb 2003 17:56

Und was gibts da noch für Anzeigearten außer SW_SHOW?

Chewie 7. Feb 2003 18:05

Zitat:

Zitat von fedderle
Und was gibts da noch für Anzeigearten außer SW_SHOW?

Funktionen wie ShellExecute kommen nicht von Borland selbst, sondern werden von Microsoft auf jedem Windows-System in diversen DLLs zur Verfügung gestellt.
Eine Online-Dokumentation gibt es hier: http://msdn.microsoft.com/library/

Die Dokumentation zum Download: http://www.microsoft.com/msdownload/platformsdk/

Da stehen u.a. auch die Anzeigearten dabei.

Hansa 7. Feb 2003 18:20

sw_show zeigt das Programm an, das aufgerufen wird, ohne es anzuhalten. Dann gibts noch Varianten, bei denen es nicht im Hintergrund läuft, usw. Genaue Hinweise finde ich jetzt selber nicht. :mrgreen:

Christian Seehase 7. Feb 2003 18:45

Moin Hansa,

das verwechselst Du jetzt mit der TForm.Show Methode.

SW_SHOW besagt nur, dass das Formular so angezeigt wird wie's gerade vorgesehen ist. Es ginge, z.B., auch SW_SHOWMAXIMIZED um beim Programmstart die maximierte Anzeige zu erzwingen.

Hansa 7. Feb 2003 19:03

Hi Christian,

folgendes hier :

Code:
procedure Ttest.DBEdit24DblClick(Sender: TObject);
begin
  WaveAbspielen ('\WINNT\Media\Utopia Windows starten.WAV');
//  ShellExecute(0, 'open',PChar('WINWORD') , nil, nil, SW_SHOW);
  ShellExecute(0, 'open',PChar('http://'+DBEdit14.Text) , nil, nil, SW_SHOW);
end;
spielt mir eine Wave-Datei ab, während der Browser gestartet wird, ohne ihn zu stören. Da hat die Form nix damit zu tun.

Nein, das stimmt so nicht. Nehme alles zurück und behaupte das Gegenteil und lasse es trotzdem so stehen. :chat: Aber folgendes ist in diesem Zusammenhang auch noch interessant:

Code:
PROCEDURE WaveAbspielen (DateiName : string);
  VAR flag : byte;
  BEGIN
    flag:=SND_ASYNC;
    sndPlaySound(PChar (DateiName), Flag);
  END;
Die Wave-Datei hat mich irritiert. Das SND_ASYNC sorgt für das beschriebene Verhalten.

Gruß
Hansa

fedderle 8. Feb 2003 12:23

Um jetzt noch mal auf die leeren Pointer zurückzukommen. Was kann man anstelle von den Pointern eintragen. Also was kann man mit ihnen bewirken. Ich weiß, dass man mit dem fünften Parameter den Dateipfad angeben kann, in dem das Programm ausgeführt werden soll. Aber was ist mit 2 und 4?

Steffen!

fedderle 8. Feb 2003 12:48

Hat sich erledigt!
 
Meine Frage hat sich erledigt. Hab die Antwort auf http://msdn.microsoft.com/library/de...ellexecute.asp gefunden.

Steffen!

Nalincah 25. Jul 2003 11:44

Re: ShellExecute Eigenschaften!
 
Warum klappt das dann nicht???

Code:
  ShellExecute(0, 'open', PChar('C:\windows\explorer.exe /e,' + DirectoryListBox1.Directory), nil, nil, SW_SHOW)
Da kommt kein Fehler...Der macht einfach gar nix


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 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