Ist es möglich, eine Anwendung über einen Browser zu starten? Ich spreche nicht vom Öffnen einer Datei über einen Browser (wie das Öffnen einer PDF-Datei mit Adobe Reader), sondern vom Öffnen einer neuen (leeren) Instanz einer Anwendung, die auf dem Computer des Benutzers installiert ist.
Hypothetische Situation: Der Benutzer durchsucht eine Website, auf der Computer aufgelistet sind, die über RDP verwaltet werden können. Er klickt auf einen Link zu 192.168.1.10. Dieser Link öffnet den Microsoft RDP-Client (mstsc.exe) mit der bereits ausgefüllten IP-Adresse.
Ich spreche ausschließlich über das Windows-Universum.
Ist das Ding auch außerhalb von ActiveX und IE machbar?
Ist es ratsam, dies im IE mit ActiveX zu versuchen?
Antworten:
Sie können eine Anwendung nicht wirklich im wahrsten Sinne des Wortes "starten". Sie können den Benutzer wie angegeben auffordern, ein Dokument (dh eine PDF-Datei) zu öffnen, und Windows versucht, die Standard-App für diesen Dateityp zu verwenden. Viele Anwendungen haben eine Möglichkeit, dies zu tun.
Beispielsweise können Sie RDP-Verbindungen als RDP-Datei speichern. Wenn Sie auf Ihrer Site einen Link zu so etwas setzen, kann der Benutzer direkt eine RDP-Sitzung starten:
quelle
Die richtige Methode besteht darin, Ihr benutzerdefiniertes URL-Protokoll wie folgt in der Windows-Registrierung zu registrieren:
Sobald die oben genannten Schlüssel und Werte hinzugefügt wurden, rufen Sie auf der Webseite einfach "customurl: \\ parameter1 = xxx & parameter2 = xxx" auf. Sie erhalten die gesamte URL als Argument in exe, das Sie in Ihrer exe verarbeiten müssen. Ändern Sie 'customurl' mit dem Text Ihrer Wahl.
quelle
customurl://
den Browser mit JavaScript aufrufe und die Anwendung installiert ist, wird sie ausgeführt. Wenn die Anwendung jedoch nicht installiert ist und diese URL in Chrome aufgerufen wird, wird die Google-Suchseite mit dem Ergebnis von angezeigtcustomurl://
. Weißt du, wie man es macht?Einige Anwendungen starten sich selbst über Protokolle. wie iTunes mit "itms: //" Links. Ich weiß jedoch nicht, wie Sie das bei Windows registrieren können.
quelle
Wir verwenden einen Sonicwall VPN. Es wird ein Java-Applet gestartet, das mstc mit allen Einstellungen für Anmeldeinformationen startet. Sie können dies wirklich nicht ohne ein Java-Applet oder ein ActiveX-Plugin tun.
Microsoft verwendet diese Technik selbst auf seinem Server für kleine Unternehmen, um in das Netzwerk zu gelangen. Ich würde nicht sagen, dass es eine schreckliche Idee ist, solange die Unabhängigkeit der Plattform nicht wichtig ist.
quelle
Sie können SilverLight verwenden, um eine Anwendung über den Browser zu starten (dies funktioniert nur unter IE und Firefox, neuere Versionen von Chrome unterstützen dies nicht).
Beispielcode hier
quelle
Das gleiche habe ich mit einem lokalen Webserver und PHP erreicht. Ich habe ein Skript verwendet, das enthält
shell_exec
um eine Anwendung lokal zu starten.Alternativ können Sie Folgendes tun:
quelle
shell_exec
Anwendungen auf dem Webserver ausgeführt werden. Der Link bewirkt normalerweise, dass die Datei heruntergeladen wird.