Die Option "RunLink" im Explorer-Menü

Moderator: MVogt

Post Reply
User avatar
Theo_Gottwald
Posts: 367
Joined: 03. Oct 2009, 08:57
Location: Herrenstr.11 * 76706 Dettenheim
Contact:

Die Option "RunLink" im Explorer-Menü

Post by Theo_Gottwald » 20. Nov 2018, 20:04

Image

Wozu gibt es die Option "RunLink" (erstellen)?
Befindet man sich über einem ".rem" (MPR-)Skriptfile dann bietet der Explorer neuerlich die Option "RunLink".
Diese Option kann man anwählen, dann erstellt der MPR eine Verknüpfung die das ausgewählte Skript startet.

Was ist daran so besonders?
Würde man einfach selbst eine Verknüpfung zu einem Skript herstellen,
und diese anklicken, dann würde einfach das Skript im Editor aufgehen!
Das Skript würde so nicht starten!
Mit dem vom Robot erstellten "RunLink" funktioniert das, das Skript startet.

Was macht der Robot anders?
Im Detail kann man das übrigens selbst herausfinden, wenn man das Skript "RunLink.rem" mal öffnet,
das im Installationsverzeichnis liegt.

Code: Select all

' RunLink.rem aus Installationsverzeichnis
ALB\$$[X]>$$alb
BLB\$$[X]>$$blb
CNS\$$blb\$$alb|?remexe|?exepath|$$[X]
@
Hier sieht man dass der MPR (mit ganz wenig Code) eine Verknüpfung zu sich selbst (also zur "remote.exe" herstellt,
und das Skriptfile als Parameter mitgibt. Der Ort wo die Verknüpfung entsteht ist der gleiche Ort, wo das Skriptfile selber liegt.
Das ist der Trick.

Wie kommen die Parameter in den MPR?
Das ist eigentlich noch interessanter, denn man kann das auch für eigene Konstrukte nutzen. Das ganze funktioniert über die Registry.
Genauer über die Registrierung von Dateitypen.

In der Registry findet man diesen Eintrag:

Code: Select all

[HKEY_CLASSES_ROOT\*remfile\Shell\RunLink]

[HKEY_CLASSES_ROOT\*remfile\Shell\RunLink\Command]
@="C:\\Program Files (x86)\\Matrix42\\Package Robot\\remote.exe runlink.rem*%1"
Kann man sich das auch customizen für eigene Funktionen?
Und wer sich eigene Mechanismen für Dateien mit dem MPR skripten will, die er vom Explorer-Menu aus aufrufen will,
der kann sich einfach einen eigenen solchen Eintrag hinzufügen.
Er benötigt dann lediglich noch die entsprechende "Skriptdatei" und die muss aber definitiv neben der "remote.exe" also im Installationsverzeichnis liegen.

Einen File-Checker als Beispiel
Also Beispiel wir hätten ein Skript was eine Datei prüft. Wir nennen das Skript "Checkfile.rem", es liegt im Installationsverzeichnis.
Es ist so codiert wie im Beispiel oben dir "RunLink.rem".
Es erhält also auch in der gleichen Variable "$$[X]" den Name und Pfad der im Explorer angewählten Datei.
Und kann damit dann im Skript machen was es will.

Dann würden wir einfach nur in der Registrierung hinzufügen:

Code: Select all

[HKEY_CLASSES_ROOT\*remfile\Shell\Checkfile]

[HKEY_CLASSES_ROOT\*remfile\Shell\Checkfile\Command]
@="C:\\Program Files (x86)\\Matrix42\\Package Robot\\remote.exe Checkfile.rem*%1"
Und schon hätten wir eine eigene Funktion für ".rem" Dateien im Explorer-Menü, direkt unter der RunLink-Methode.
Das Gleiche kann man aber genauso für andere Dateitypen auch machen.

Was kann man noch damit machen?
Man kann das Konzept auch so umändern, dass der Robot "RunLinks" für ganz andere Programme erstellt!
Das sind nur ganz wenige Änderungen, also der Pfad des aufgerufenen Programmes, und das wars dann schon.
Solche Pfade ermittelt man am besten jeweils dynamisch mit der IAI\, GEP\ oder IAR\-FUnktion. Damit erhält man den echten Installationspfad auf dem lokalen System, und man fragt gleichzeitig ab, ob das Programm überhaupt drauf ist.

Hinweis für SPR-Anwender:
Unterschied zum MPR/SPR. Beim SPR ist die Funktion "RunLink" neu ab dem nächstes Update. Beim SPR wird die Verknüpfung stets auf dem Desktop erzeugt. Aber auch dort findet man im Installationspfad die "RunLink.mrt" und kann da selbst Änderungen machen wenn gewünscht. Auch dort kann man das customizen und sich so eigene Einträge im Explorer Menü zu Dateitypen machen.

Post Reply

Return to “Package Robot”

Who is online

Users browsing this forum: No registered users and 2 guests