« Zurück zu Produkt

Dokumentation

IPS_ExecuteEx

 string IPS_ExecuteEx (string $Programmpfad, string $Parameter, bool $FensterZeigen, bool $Warten, int $SessionID) 

Parameterliste

Programmpfad

Vollständiger Pfad zum Programm

Parameter

An das Programm zu übergebende Parameter (optional)

FensterZeigen

True, wenn das Fenster angezeigt werden soll; False, wenn das Fenster unsichtbar bleiben soll

Warten

Gibt an, ob auf das Programmende gewartet werden soll.

SessionID

Die User Session ID, die genutzt werden soll (Unter XP ab 0, 2003/Vista ab 1), < 0 für automatische Auswahl

Rückgabewert

Die Ausgabe des Programms, wenn der Parameter Warten auf TRUE gesetzt ist: die Ausgabe nach stderr, falls vorhanden, sonst die Ausgabe nach stdout. Ist Warten auf FALSE gesetzt, wird ein leerer String zurückgegeben. Im Fehlerfall wird FALSE zurückgegeben.

Beschreibung

Die Funktion veranlasst den Start des externen Programms mit dem Pfad Programmpfad in der Sitzung eines angemeldeten Benutzers, sodass das Programm z.B. auf dessen Desktop angezeigt werden kann. Dem Programm wird der String Parameter als Aufrufparameter übergeben. Der Boolean-Wert FensterZeigen legt fest, ob das Programmfenster angezeigt wird. Im Gegensatz zu IPS_Execute wird dieser Parameter hier ausgewertet. Der Boolean-Wert Warten legt fest, ob das Programmende abgewartet oder das aufrufende Skript sofort fortgesetzt werden soll.

Wird auf das Programmende gewartet, wird die Ausgabe des Programms als String zurückgegeben. Hat das Programm etwas nach stderr ausgegeben, wird diese Ausgabe zurückgegeben, andernfalls die Ausgabe nach stdout. Wird nicht auf das Programmende gewartet, gibt die Funktion immer einen leeren String zurück. Existiert das Programm nicht oder kann es nicht gestartet werden, wird eine Warnung ausgegeben und FALSE zurückgegeben. Der Exit-Code des Programms steht nicht zur Verfügung.

Der Parameter SessionID gibt an, in welcher User-Session das Programm gestartet werden soll. (Unter Windows 2003 können z.B. mehrere Terminal Sessions parallel gestartet sein.) Wird der Parameter kleiner 0 gewählt, so ermittelt IP-Symcon die erste aktive Session automatisch und startet dort das gewünschte Programm. Das Starten in einer User-Session setzt voraus, dass IP-Symcon als Dienst läuft.

Warning

Diese Funktion ist nur unter Windows verfügbar. Auf anderen Betriebssystemen wird eine Warnung ausgegeben und FALSE zurückgegeben.

Warning

Vorsicht: Beim Warten auf das Programmende verlängert sich die Laufzeit des Skripts entsprechend. Skripte haben zwar keine maximale Laufzeit, das Skript belegt aber während des Wartens einen der begrenzt verfügbaren Threads, in denen Skripte ausgeführt werden. Lange laufende Programme sollten daher nicht mit Warten gestartet werden. Dies ist vor allem dann wichtig, wenn das Programm Benutzereingaben erwartet.

Beispiel

// Notepad starten
IPS_ExecuteEx("C:\\Windows\\notepad.exe", "", true, false, -1);
Haben Sie noch Fragen?