1. Home
  2. MapEdit Desktop
  3. Aufruf aus anderen Programmen

Aufruf aus anderen Programmen

Um MapEdit von anderen Programmen oder aus einer Webseite aufzurufen gibt es zwei Möglichkeiten.

Beide haben gemeinsam das diese Programme sich im gleichen Verzeichnis befinden müssen wir die MapEdit Start Programme (z.B. MapEdit.exe) und die Konfigurationsdatei MapEdit.ini.

Bei beiden Varianten können die URL Parameter zum Start von MapEdit Desktop verwendet werden.

MapEdit.RemoteControl.exe

Diese Methode wird empfohlen. Sie hat Vorteile gegenüber der zweiten, unten aufgeführten Variante welche wir auch noch anbieten.

Hierzu wird auf jedem Client PC ein Eintrag in die Registry erstellt. Das kann manuell (als Admin) oder per Softwareverteilung für alle zentral gemacht werden.

Notwendiger Registry Eintrag:

..........
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mapeditdesktop]
@="URL: MapEditDesktop Protocol"
"URL Protocol"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mapeditdesktop\DefaultIcon]
@="C:\\Program Files (x86)\\MuM MapEdit\\MapEditDesktop\\MapEdit.RemoteControl.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mapeditdesktop\Shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mapeditdesktop\Shell\Open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mapeditdesktop\Shell\Open\Command]
@="\"C:\\Program Files (x86)\\MuM MapEdit\\MapEditDesktop\\MapEdit.RemoteControl.exe\"\"%1\""
..........

In unserem Download Bereich finden sie im Verzeichnis MapEdit/Support ein Beispiel für die Registry am Client, welches sie als Vorlage verwenden können.

Es muss nur der Pfad angepasst werden, wo die MapEdit.RemoteControl.exe liegt. Dies kann ein lokales Verzeichnis sein, Netzlaufwerk, oder auch ein UNC-Pfad sein. Im obigen Beispiel ist der Default Installationspfad von MapEdit Desktop eingestellt.

Um über diese Variante MapEdit zu starten muss von dem Programm oder einer Webseite wie folgt angesprochen werden:

mapeditdesktop://Execute?

Hinter dem ? können dann die bekannten Parameter zum Start von MapEdit Desktop gesetzt werden. Beispiel:

mapeditdesktop://Execute?Username=ADMINISTRATOR&Password=123456

Wird MapEdit Desktop nicht über einen Browser aufgerufen, sondern über ein anderes Programm heraus, dann müssen diese Parameter statt mit & durch ~ getrennt werden.

MapEdit.RemoteControl.Listener.exe

Diese Methode kann dann genutzt werden wenn ein eigenes Protokoll / Registry Eintrag nicht möglich ist.

Die MapEdit.RemoteControl.Listener.exe wird in Autostart des Client PC eingebunden, damit der Prozess immer beim Start des PCs läuft. Das Programm hört auf den Port 60026. Diesen Port kann man anpassen sofern diese bereits belegt oder nicht verwendet werden kann. Um den Port zu ändern muss eine Datei mit der Bezeichnung MapEdit.RemoteControl.Listener.ini angelegt werden und in diese die gewünschte Portnummer eintragen werden z.B. Port=60027.

Beispiel Aufruf:

http://localhost:60026/Mum.Geo.Services/RemoteControl.html?

Hinter dem ? können dann die bekannten Parameter zum Start von MapEdit Desktop gesetzt werden. Beispiel:

http://localhost:60026/Mum.Geo.Services/RemoteControl.html?Username=ADMINISTRATOR&Password=123456

Es muss immer als « localhost » aufgerufen werden, da MapEdit Desktop lokal auf dem Client PC läuft.

Wird MapEdit Desktop nicht über einen Browser aufgerufen, sondern über ein anderes Programm heraus, dann müssen diese Parameter statt mit & durch ~ getrennt werden.

Vor- und Nachteile

Die MapEdit.RemoteControl.exe funktioniert problemlos in allen Umgebungen, egal ob das MapEdit auf Terminal Server, virtueller Rechner oder « Bare Metal » installiert ist. Es braucht keinen geöffneten Port.

Bei der MapEdit.RemoteControl.exe registriert man sein eigenes Protokoll und mit diesem startet dann auch direkt MapEdit Desktop, ohne Umweg. Der Vorteil ist, dass es nicht zunächst einen Prozess starten muss der immer im Speicher läuft. Da kann nichts unabsichtlich beendet werden oder mal nicht laufen.

Die MapEdit.RemoteControl.Listener.exe funktioniert nicht auf Terminal-Server, da sie immer einen definierten Port 60026 aufmacht. Der Port kann zwar in der ini angepasst werden, aber das muss mit allen anderen Anwendungen die installiert sind abgestimmt sein.

Es muss bei der MapEdit.RemoteControl.Listener.exe kein Eintrag in der Registry am Client PC vorhanden sein. Es genügt das die Programme in dem Autostart des Client PC gestartet ist.

Updated on décembre 12, 2019