Funktionsreferenz

ShellExecute

Führt ein externes Programm unter Verwendung der ShellExecute-API aus.

ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )

 

Parameter

filename Der Name der auszuführenden Datei (EXE, .txt, .lnk etc.).
parameters [optional] Alle Parameter für das Programm. Wird ein leerer String ("") angegeben, so werden keine Parameter verwendet.
workingdir [optional] Das Arbeitsverzeichnis. Wird ein leerer String ("") angegeben, so wird das aktuelle Arbeitsverzeichnis verwendet.
verb [optional] Der zu verwendende Folgebefehl, gebräuchliche Folgebefehle sind:
  open = Öffnet die angegebene Datei. Die Datei kann eine Anwendung, ein Dokument oder ein Ordner sein.
  edit = Startet einen Editor und öffnet das Dokument zum Bearbeiten. Falls "filename" kein Dokument ist, scheitert die Funktion.
  print = Druckt das angegebene Dokument. Falls "filename" kein Dokument ist, scheitert die Funktion.
  properties = Zeigt die Eigenschaften der Datei oder des Ordners.
  Für mehr Informationen was passiert, wenn kein "verb" festgelegt ist siehe Bemerkungen.
showflag [optional] Das Anzeige-Flag des ausgeführten Programms:
  @SW_HIDE = Verstecktes Fenster
  @SW_MINIMIZE = Minimiertes Fenster
  @SW_MAXIMIZE = Maximiertes Fenster

 

Rückgabewert

Erfolg: Gibt 1 zurück.
Fehler: Gbit 0 zurück und setzt @error auf nicht-null.

 

Bemerkungen

Nach dem Starten des angegebenen Programms wird das Skript fortgesetzt. Um die weitere Skriptausführung zu pausieren, bis das gestartete Programm beendet wurde, ist stattdessen die Funktion ShellExecuteWait zu verwenden.

Wenn kein "verb" festgelegt wird, wird das Standard-verb verwendet. Das Standard-verb ist das "verb" welches in der Registry definiert ist. Falls kein "verb" in der Registry als Standard gesetzt ist, wird das "open" "verb" verwendet. Falls das "open" "verb" nicht verfügbar ist, dann wird das erste in der Registry aufgelistete "verb" verwendet. (außer bei Windows 2000)

Um .lnk-Dateien (Verknüpfungen) zu starten ist es eventuell notwendig, zuerst den korrekten Dateinamen zu ermitteln. Dies geschieht mit der Funktion FileGetShortcut.
Bsp:
$filepath = FileGetShortcut($lnk)
ShellExecute($filepath[0])

 

Verwandte Funktionen

ShellExecuteWait, Run, RunWait, RunAs, RunAsWait

 

Beispiel


; Notepad öffnen
ShellExecute("Notepad.exe")

; Eine .txt Datei mit dem Standardeditor öffnen
ShellExecute("myfile.txt", "", @ScriptDir, "edit")