119 votes

Comment lancer une application à partir d'un navigateur ?

Est-il possible de lancer une application à partir d'un navigateur ? Je ne parle pas d'ouvrir un fichier à partir d'un navigateur (comme ouvrir un PDF avec Adobe Reader), mais plutôt d'ouvrir une nouvelle instance (vierge) d'une application qui est installée sur la machine de l'utilisateur.

Situation hypothétique : L'utilisateur consulte un site web qui répertorie les ordinateurs pouvant être gérés via RDP. Il clique sur un lien vers 192.168.1.10, qui ouvre le client Microsoft RDP (mstsc.exe) avec cette adresse IP déjà renseignée.

Je parle strictement de l'univers Windows.

Est-il possible de faire cela en dehors d'ActiveX et d'IE ?

Est-il judicieux d'essayer de le faire avec IE et ActiveX ?

79voto

Abhijith C R Points 820

La bonne méthode consiste à enregistrer votre protocole URL personnalisé dans le registre Windows comme suit :

[HKEY_CLASSES_ROOT\customurl]
@="Description here"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\customurl\shell]

[HKEY_CLASSES_ROOT\customurl\shell\open]

[HKEY_CLASSES_ROOT\customurl\shell\open\command]
@="\"C:\\Path To Your EXE\\ExeName.exe\" \"%1\""

Une fois que les clés et les valeurs ci-dessus ont été ajoutées, il suffit, à partir de la page web, d'appeler "customurl : \\parameter1 =xxx&paramètre2=xxx" . Vous recevrez l'url entière comme argument dans exe, que vous devrez traiter dans votre exe. Remplacez 'customurl' par le texte de votre choix.

20voto

jeffamaphone Points 31732

12voto

brendan Points 15097

Il n'est pas possible de "lancer une application" au sens propre du terme. Vous pouvez, comme vous l'avez indiqué, demander à l'utilisateur d'ouvrir un document (par exemple un PDF) et Windows tentera d'utiliser l'application par défaut pour ce type de fichier. De nombreuses applications disposent d'un moyen de le faire.

Par exemple, vous pouvez enregistrer les connexions RDP dans un fichier .rdp. En plaçant sur votre site un lien vers un fichier de ce type, l'utilisateur pourra se lancer directement dans une session RDP :

<a href="MyServer1.rdp">Server 1</a>

11voto

carl Points 73

La réponse de @AbhijithCR fonctionne bien. Pour enregistrer le protocole via un fichier .bat, faites quelque chose comme ceci

set key=customurl 
reg add HKCR\%key% /ve /d "URL:Description" 
reg add HKCR\%key% /v "URL Protocol" /d "" 
reg add HKCR\%key%\shell 
reg add HKCR\%key%\shell\open 
reg add HKCR\%key%\shell\open\command /ve /d ""c:\path to\your.exe" ""%%1"""

Pour moi, la partie la plus délicate a été de réussir à placer tous les guillemets et les doubles pourcentages.

8voto

pastjean Points 709

Certaines applications se lancent elles-mêmes par des protocoles, comme itunes avec des liens "itms://". Je ne sais cependant pas comment vous pouvez enregistrer cela avec Windows.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X