"EXE\[Daten]" für "EXEcute", "EXX\[Daten]" für "EXecute eXtended", "EXW\[Daten]" für "EXecuteandWait", "EXR\[Daten]" für
"EXecutefromRegistry", "EXS\[Daten]" für "EXecuteShell", "EXO\[Daten]" für "EXecuteOpen", "EFP\[Daten]" für "ExecuteFromPrograms", "EXU\[Daten]" für
"EXecuteUninstall", "GEP\[Daten]" für "GetExePath", "GPP\[Daten]" für "GetPathfromPrograms", "IAI\[Daten]" für "IfAppInstalled", "IAR\[Daten]" für "IfAppRegistered", "CSF\[Daten]" für "CollectSomeFiles", "IBS\" für "IfBackSignalled", "EBS\" für "EndBackSignalled", "IES\" für "IfEndSignalled", "EES\" für "EndEndSignalled". Siehe auch: "Spezialordner". Siehe auch: "Abfragen". *EXE-Beispiel*, *EXS-Beispiel*, *EXW-Beispiel*
Die ersten 4 Befehle bewirken das Starten der im Datenteil spezifizierten
ausführbaren Datei (eines Programms). Diese muß im Datenteil mit
vollständigem Verzeichnispfad angegeben und darf nicht in Anführungsstriche
gesetzt werden. Der Verzeichnispfad kann das Laufwerk enthalten, muß aber
nicht. Im letzteren Falle wird die Datei im aktuellen Verzeichnis gesucht. Ausführbare Dateien im Windowsverzeichnis oder Windows-Systemverzeichnis
(oder deren Unterverzeichnissen) können wie folgt aufgerufen werden: "EXE\?wi\notepad.exe" startet den Editor im Windows-Verzeichnis, und "EXE\?ws\sysedit.exe" startet den Systemeditor aus dem Windows-
Systemverzeichnis. Das ist dann hilfreich, wenn nicht bekannt ist, wie das Windowsverzeichnis auf
dem Zielrechner heißt (siehe auch "Spezialordner"). Sie können der ausführbaren Datei auch Befehlszeilenparameter übergeben (z.B.
die zu öffnende Textdatei für "Notepad"). Wenn die Pfade beider Angaben (Exe-
Datei und Befehlszeilenparameter) keine Leerzeichen enthalten, können Sie das
Leerzeichen als Trenner zwischen beiden Angaben benutzen, ansonsten müssen
Sie den Senkrechtstrich ("|") verwenden. Wenn eine Anwendung als Symbol gestartet werden soll (minimiert), geben Sie
im Anschluß an den Datenteil "min" an (ohne Anführungsstriche und durch
Leerzeichen getrennt). Bei Start im Vollbildformat (maximiert) geben Sie
entsprechend "max" an. Soll die Anwendung unsichtbar gestartet werden, tragen
Sie "hid" ein. Das gleiche gilt für das Öffen von Ordnern (siehe unten).
Mit dem Befehl "EXE\..." lassen sich auch beliebige Ordner öffnen oder Verknüpfungen starten. Wenn Sie am Ende des Datenteils
einen Stern ("*") eintragen, werden nur die
Variablen im Datenteil ersetzt und ebenso die Spezialordner (?xxx), und der
gesamte Datenteil wird dann an Windows weitergeleitet. Das kann zweckmäßig
sein, wenn systeminterne Komponenten über die Datei "rundll32.exe" mit
bestimmten Befehlszeilenparametern gestartet werden sollen.
Den Befehl "EXS\..."
können Sie einsetzen, wenn Sie eine "bekannte" Exe-Datei
starten wollen. Dann genügt die Angabe des Dateinamen ohne Pfad und
Erweiterung, z.B. "EXS\notepad". Einen Befehlszeilenparameter können Sie
anschließend und abgetrennt durch einen Senkrechtstrich ("|") eintragen: EXS\Name[|Befehlszeilenparameter]
([]=optional)
Mit dem Befehl "EXX\"
können Sie noch Position und Größe des Hauptfensters
vom zu startenden Programm festlegen, sofern das Programm dies zuläßt. Dann
ist der Datenteil wie folgt zu gestalten: EXX\Exedatei[|Befehlszeilenparameter][|PositionX,PositionY][|Breite,Höhe]
([]=optional) Die Werte für Position beziehen sich auf die linke obere Ecke des Fensters und
sind ebenso wie die Größe in Pixel anzugeben (die Pixel-Einteilung entspricht der
Bildschirmauflösung; bei 800 x 600 ist der Bildschirm 800 Pixel breit und 600
Pixel hoch). Statt des Kommas bei Position und Größe kann auch ein anderes Trennzeichen
(außer "|") verwendet werden. Es sind immer alle Trennstriche vor einem Wert
einzutragen. Alternativ zum Senkrechtstrich ("|")
kann auch die öffnende eckige Klammer
("[") als Trennzeichen eingesetzt werden. Das kann notwendig sein, wenn einer
der Parameter (z.B. Befehlszeilenparameter) selbst Senkrechtstriche als Trenner
enthält: EXX\Exedatei[Befehlszeilenparameter[PositionX,PositionY[Breite,Höhe
Wenn Sie im Anschluß an den Befehl "EXX\" zuerst die Zeichenfolge "h\" oder
"H\" anfügen, wird das Programm unsichtbar gestartet. Position und Größe
werden in diesem Falle ignoriert. Sie können jedoch das Programmfenster nach
dem unsichtbaren Start mittels "STW\...|a" suchen und anschließend (immer
noch unsichtbar) mittels "SWP\..." in Position und Größe verändern. Das ist
zweckmäßig bei Programmen, die sich beim Starten nicht positionieren lassen.
Anschließend zeigen Sie das Fenster mit dem Befehl "MWV\" an.
Mit "EXO\"
lassen sich Dateien anzeigen, die mit einer Anwendung verknüpft
sind incl. Internet-Seiten etc. Geben Sie dazu im Dateiteil den Pfad zur Datei
oder den URL an.
"EXR\"
ist vorteilhaft bei Anwendungen, deren Installationspfad in der
Registrierung vermerkt ist (das gilt für die meisten kommerziellen
Anwendungen). Es gelten prinzipiell die gleichen Vorschriften wie für "EXX\" mit
dem Unterschied, daß Sie bei der auszuführenden Datei nur den Namen oder
den Teil davon angeben müssen, welcher die Anwendung identifiziert. Das
Remote-Programm versucht dann, die zugehörige Exe-Datei zu lokalisieren.
Wenn Sie "Dateiname.exe" angeben, wird nach genau dieser Bezeichnung
gesucht, bei "Dateiname" nach einer Datei, in deren exakter Bezeichnung "Dateiname" vorkommt. Falls der genaue Dateiname bekannt ist, sollte der
Variante mit ".exe" der Vorzug gegeben werden, um Mehrdeutigkeiten
auszuschließen. Wenn Sie eine Anwendung starten wollen, die mit einer bestimmten oder
mehreren Dateiendungen (z.B. ".txt", ".doc", ".htm") verbunden ist, können Sie
auch die Dateiendung (mit vorangestelltem Punkt!) im Datenteil angeben. Das
Programm sucht dann die zugehörige Exe-Datei. Analog können Sie eine Datei öffnen, die
mit einer bestimmten Anwendung
verknüpft ist, indem sie nach dem Befehl einfach den Pfad zu dieser Datei angeben. Dann sucht das Programm die zugehörige Anwendung und startet diese
mit der Datei. Der Pfad kann absolut oder unter Verwendung der Kürzel (siehe
"Spezialordner") angegeben werden.
Wenn Sie nur den Pfad zu einer registrierten Exe-Datei
ermitteln wollen, können
Sie den Befehl "GEP\..." verwenden. Für die Angabe im Datenteil gilt das gleiche
wie für "EXR\". Wenn die Datei gefunden wird, steht der Pfad in der
Systemvariablen "$v1$", deren Inhalt Sie mittels "VAR\..." an eine
benutzerdefinierte Variable übergeben können. Wenn die Datei nicht gefunden
wird, ist "$v1$" leer. Dieser Befehl unterstützt "IIF\".
Beispiele: EXR\word EXR\winword.exe EXR\Access EXR\msaccess.exe EXR\.doc EXR\?pfad\mydoc.doc EXR\h\wordpad|?pfad\mytext.txt '--------- DVV\1 GEP\access VAR\$$acc=$v1$
Der Befehl "EXW\..."
verhält sich prinzipiell genauso wie "EXX\..."; es gelten auch
die gleichen Vorschriften für die Gestaltung des Datenteils. Während jedoch die
anderen Befehle asynchron ausgeführt werden (d.h. das Remote-Programm
arbeitet nach dem Starten der EXE-Datei weiter), wartet dieser Befehl, bis der
gestartete Prozeß beendet wird und gibt erst dann die weitere Abarbeitung der
Remote-Datei frei. Das ist hilfreich, wenn auf das Beenden von fensterlosen
Prozessen gewartet werden muß und deshalb "MTW\..." nicht eingesetzt werden
kann. Wenn Sie mit "EXW\..." innerhalb des Ablaufes einer Remote-Datei eine Exe-
Datei einbinden, kann es erforderlich sein, daß nach Beenden der Exe-Datei ein
Rücksprung in der Remote-Datei erfolgt. Das ist möglich mit der Afrage "IBS\".
Dazu muß die Exe-Datei vor dem Beenden eine Meldung an das Callbackfenster
des Remote-Programms schicken nach folgendem Muster: Call SendNotifyMessage(hwnd, WM_APP + 2, 1, 1) Das Handle des Callbackfensters läßt sich mit hwnd = FindWindow("#32770", "$remote$") ermitteln. Wenn eine solche Meldung geschickt wurde, werden die zwischen
"IBS\" und "EBS\" liegenden
Befehle abgearbeitet. Für den Fall eines Rücksprungs
ist dieser mittels "GOTO ..." zu realisieren. Ebenso kann es erforderlich sein, daß eine Remote-Datei wegen einer
Benutzeraktion in einer Exe abgebrochen werden soll. Um dies festzustellen,
verwenden Sie die Abfrage "IES\". Dazu muß die Exe-Datei vor dem Beenden
eine Meldung an das Callbackfenster des Remote-Programms schicken nach
folgendem Muster: Call SendNotifyMessage(hwnd, WM_APP + 2, 2, 1) Wenn eine solche Meldung geschickt wurde, werden die zwischen "IES\"
und
"EES\" liegenden Befehle abgearbeitet. Für den Fall eines Abbruchs ist dieser
mittels "&", "END\"
oder ebenfalls wieder mit "GOTO ..." zu realisieren.
HINWEIS: Bei den Befehlen "EXX\", "EXW\" und "EXR\" werden die ProcessId und die ThreadId des gestarteten Prozesses in programminternen Variablen gespeichert,
auf die Sie wie folgt zugreifen können: $v4$ enthält die ProcessId als Ziffernfolge und $v5$ enthält die ThreadId als Ziffernfolge. Bei "EXS\" wird nur die ProcessId in $v4$ hinterlegt; der Befehl "EXE\"
unterstützt dieses Feature nicht. Zur Verwendung der IDs bei der Fenstersuche
siehe "WMS\".
Der Befehl "EFP\..."
dient dazu, Verknüpfungen auszuführen, die unter
"Startmenü\Programme" sowohl für den eingeloggten User als auch für alle User
in den einzelnen (Unter)Verzeichnissen zur Verfügung stehen. Sie können
pauschal in allen diesen Ordnern/Unterordnern nach einer Verknüpfung suchen
lassen oder den Ordner genauer spezifizieren. Letzteres ist vorteilhaft bzw.
notwendig, wenn der Name der Verknüpfung mehrfach vorkommen kann, wie
z.B. "Uninstall". Im Datenteil des Befehls
ist (optional) der Zielordner anzugeben mit
nachfolgendem Trennzeichen ("|") und die Bezeichnung der gesuchten Verknüpfung. Wird nur die Verknüpfung angegeben, entfällt das Trennzeichen,
und es werden alle Ordner/Unterordner der o.g. Stammverzeichnisse nach einer
solchen Verknüpfung durchsucht. Sowohl für den Zielordner als auch für die Verknüpfung können die Vorgaben
nach den Regeln für "Suchbegriffe", Punkt 1. angegeben werden, d.h. in Form
eines oder zweier Strings, die mittels UND/ODER-Logik interpretiert werden. Wenn Sie nur Informationen über den gesuchten Link erhalten möchten,
verwenden Sie den Befehl "GPP\..." mit der gleichen Syntax. Dann werden die
Informationen in programminternen Variablen hinterlegt wie bei "GSI\".
Mit dem Befehl "EXU\..." können Sie die Deinstallation der im Datenteil
angegebenen Applikation starten. Bei der Befehlseingabe im Editor werden Ihnen
die deinstallierbaren Applikationen aufgelistet, und Sie können die
entsprechende auswählen. Dieses wird dann im Editor eingetragen. Bei der
Befehlsausführung wird geprüft, ob die Applikation auf dem Rechner registriert
ist; wenn ja, startet die Deinstallation wie bei einer manueller Auswahl über die
Systemsteuerung.
Alternativ können Sie mittels "IAI\..." abfragen, ob eine Applikation installiert
ist. Im Datenteil ist dazu ein eindeutiges Fragment der Applikationsbezeichnung
anzugeben, wobei Sie auch den Stern ("*") als Platzhalter für ein oder
mehrere
Zeichen einsetzen können. Beachten Sie dabei, daß manche "Unterprogramme"
(z.B. Access, Excel, Word etc.) nicht als Einzelapplikationen erscheinen, sondern
unter dem Sammelbegriff "Office ????". Bei erfolgreicher Prüfung werden systeminterne Variable belegt, auf die Sie wie
folgt zugreifen können: $v1$ enthält den String, den Sie an den "EXE\"-Befehl übergeben müssen, um die
Deinstallation einzuleiten, und $v2$ enthält die vollständige Applikationsbezeichnung. Die Befehle zwischen "IAI\"
und "EAI\" werden nur ausgeführt, wenn die
Applikation gefunden wurde. Wenn Sie bei dieser Abfrage sicherstellen wollen, daß sich die installierte
Applikation auch deinstallieren läßt, geben Sie am Ende des Datenteils die Zeichenfolge "|u"
an. Dann wird zusätzlich geprüft, ob für diese Applikation in
der Registrierung auch eine Angabe zur Deinstallation vorhanden ist, und die
Abfragebedingung ist nur dann erfüllt, wenn das der Fall ist.
Im Gegensatz zu "IAI\"
können Sie mittels "IAR\..." prüfen, ob eine Applikation registriert ist. Im Datenteil ist dazu ebenfalls ein eindeutiges Fragment der
Applikationsbezeichnung anzugeben, wobei Sie auch den Stern ("*") als
Platzhalter für ein oder mehrere Zeichen einsetzen können. Bei erfolgreicher Prüfung werden systeminterne Variable belegt, auf die Sie wie
folgt zugreifen können: $v1$ enthält den vollständigen Pfad zur Exe-Datei der Applikation, und $v2$ enthält das Verzeichnis der Exe-Datei mit abschließendem Backslash. Die Befehle zwischen "IAR\"
und "EAR\" werden nur ausgeführt, wenn die
Applikation registriert ist.
Mit "CSF\..."
können Sie für Exedateien, die Befehlszeilenparameter verarbeiten,
eine Liste von Dateien erzeugen. Geben Sie dazu im Datenteil den Pfad und ggf.
die Spezifizierung der Dateien/Dateigruppe wie folgt an: CSF\e:\projekte\remote\*.* 'für alle Dateien CSF\e:\projekte\remote\*.exe 'für alle Exe-Dateien CSF\e:\projekte\remote\*.dll 'für alle DLLs Dann werden die vollständigen Dateinamen durch Leerzeichen getrennt
aneinandergereiht und in einer programminternen Variablen gespeichert, auf die
Sie mit der Zeichenfolge $v1$ zugreifen können. Diese Variable kann dann als
Befehlszeilenparamter an die Exedatei übergeben werden.
Beispiele: EXE\cdrom:\t-online\decoder\win\disk1\install.exe 'Start von CDROM EXE\remote.exe 'Start aus aktuellem Verzeichnis EXE\h:\decoder\disk1\install.exe 'Start von Festplatte EXE\?wi\startmenü\programme\zubehör\spiele 'öffnet Ordner 'Spiele' EXE\e:\vb5\projekte\remote 'öffnet Ordner 'Remote' EXE\c:\aol30i\waol.exe min 'Start als Symbol EXX\?wi\notepad.exe|c:\test.txt|50,100|300;400 'startet/positioniert
Notepad EXW\?wi\notepad.exe 'startet Notepad und wartet, 'bis Notepad beendet wird VAR\$$PFD=?pfad CHD\$$PFD EXW\$$PFD\unzip.exe|""-o a.zip"" 'Bei DOS-BZP: ""..."" '----------------------------------- '# Unsichtbares Starten einer Batch-Datei VAR\$$bat=c:\$ipcfg$.bat VAR\$$txt=ipconfig /all > $ipcfg$.txt 'Umleitung in Datei CTF\$$bat<$$txt EXW\h\$$bat DEL\$$bat @
© 2006 by Delphin Software
|