J'ai vu:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
Quelle est cette première section où vous voyez http
et ainsi de suite appelé?
Puis-je enregistrer le mien?
La portion avec le HTTP://
, FTP://
, etc sont appelés schémas d'URI
Vous pouvez enregistrer le vôtre via le registre.
HKEY_CLASSES_ROOT/
your-protocol-name/
(Default) "URL:your-protocol-name Protocol"
URL Protocol ""
Shell/
open/
command/
(Default) PathToExecutable
Sources: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml , http://msdn.Microsoft.com/en-us/library /aa767914(v=vs.85).aspx
Ouvrez le bloc-notes et collez-y le code ci-dessous. Changez "YourApp" dans le nom de votre application. Enregistrez-le dans YourApp.reg et exécutez-le en cliquant dessus dans l'explorateur. C'est ça! À votre santé! Erwin Haantjes
REGEDIT4
[HKEY_CLASSES_ROOT\YourApp]
@="URL:YourApp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\YourApp\DefaultIcon]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\""
[HKEY_CLASSES_ROOT\YourApp\Shell]
[HKEY_CLASSES_ROOT\YourApp\Shell\open]
[HKEY_CLASSES_ROOT\YourApp\Shell\open\command]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\" \"%1\" \"%2\" \"%3\" \"%4\" \"%5\" \"%6\" \"%7\" \"%8\" \"%9\""
Ceci est différent pour chaque navigateur, dans IE et Windows, vous devez créer ce qu’ils appellent un gestionnaire de protocole enfichable.
Les étapes de base sont les suivantes:
Voir À propos des protocoles enfichables asynchrones sur MSDN pour plus de détails sur les fenêtres. Il existe également un exemple dans le SDK Windows.
Un rapide Google a également montré cet article sur codeproject: http://www.codeproject.com/KB/IP/DataProtocol.aspx .
Enfin, en tant que responsable de la sécurité, je dois souligner que ce code doit être renforcé. Cela présente un risque élevé, car pour le faire de manière fiable, vous ne pouvez pas le faire en code managé et vous devez le faire en C++ (je suppose que vous pourriez utiliser VB6). Vous devez vous demander si vous avez vraiment besoin de le faire et si vous le faites, concevez-le soigneusement et codez-le en toute sécurité. Un attaquant peut facilement contrôler le contenu qui vous est transmis en incluant simplement un lien sur une page. Par exemple, si vous avez un simple dépassement de tampon, personne ne devrait le faire: <a href="custom:foooo{insert long string for buffer overflow here}"> Click me for free porn</a>
Envisagez sérieusement d’utiliser strsafe et les nouvelles méthodes CRT sécurisées incluses dans les compilateurs VC8 et supérieurs. Voir http://blogs.msdn.com/michael_howard/archive/2006/02/27/540123.aspx si vous ne savez pas de quoi je parle.
Voici une liste des schémas URI enregistrés . Chacun a un RFC - un document le définissant, qui est presque un standard. Le RFC indique aux développeurs de nouvelles applications (tels que les navigateurs, les clients ftp, etc.) ce qu’ils doivent prendre en charge. Si vous avez besoin d'un nouveau protocole de base, vous pouvez utiliser un protocole non enregistré. Les autres réponses vous disent comment. Gardez à l'esprit que vous pouvez faire beaucoup de choses avec les protocoles existants, obtenant ainsi leurs implémentations existantes.
Pour la plupart des produits Microsoft (Internet Explorer, Office, boîtes de dialogue "Ouvrir un fichier", etc.), vous pouvez enregistrer une application à exécuter lorsqu'un URI avec le préfixe approprié est ouvert. . Ceci fait partie de l'explication plus courante - de la mise en oeuvre de votre propre protocole.
C'est ce qu'on appelle le protocole. La seule chose qui vous empêche de créer votre propre protocole est de:
Windows rend # 1 vraiment facile, et dans de nombreux cas, c'est tout ce dont vous avez besoin. À savoir:
La première section s'appelle un protocole et oui vous pouvez enregistrer le vôtre. Sous Windows (où je suppose que c'est ce que vous faites, étant donné la balise C # - pardon pour les fans de Mono), c'est fait via le registre .
Un protocole?
J'ai trouvé cela, il semble être un paramètre local pour un ordinateur ...