Comment enregistrer un protocole D'URL personnalisé dans Windows?
3 réponses
je pense que C'est couvert dans MSDN, s'il vous plaît voir enregistrer une Application à un protocole URL .
le lien MSDN est agréable, mais l'information de sécurité là-bas n'est pas complète. L'enregistrement du gestionnaire doit contenir "%1 " et non pas %1. Il s'agit d'une mesure de sécurité, car certaines sources URL décodent incorrectement %20 avant d'invoquer votre gestionnaire de protocole personnalisé.
PS. Vous obtiendrez L'URL entière, pas seulement les paramètres de L'URL. Mais L'URL pourrait être sujette à quelques mauvais traitements, en plus de la conversion déjà mentionnée %20->espace. Il aide à être conservateur dans votre URL la syntaxe de la conception. Ne jetez pas dans aléatoires // ou vous irez dans le désordre qui file://.
-
passer à
Start
puis dansFind
typeregedit
- > il doit s'ouvrirRegistry editor
-
, Cliquez sur Droit de la Souris sur
HKEY_CLASSES_ROOT
alorsNew
->Key
- dans la clé donner le nom de base par lequel vous vous voulez que les urls soient appelées (dans mon cas, il sera
testus://sdfsdfsdf
) puis cliquez sur souris droite surtestus
-> puisNew
->String Value
et ajouterURL protocol
sans valeur.
- puis Ajouter d'autres entrées comme vous l'avez fait avec le protocole ( souris droite
New
->Key
) et créer une hiérarchie commetestus
->shell
->open
->command
et à l'intérieur decommand
changer(Default)
au chemin où.exe
vous voulez lancer est, si vous voulez passer les paramètres à votre exe puis envelopper chemin à exe dans""
et ajouter"%1"
pour ressembler à:"c:\testing\test.exe" "%1"
- pour tester si ça marche, allez à
Internet Explorer
(pasChrome
ouFirefox
) et entrertestus:have_you_seen_this_man
cela devrait tirer votre.exe
(vous donner quelques indices que vous voulez faire ceci - dire oui) et passer dans argstestus://have_you_seen_this_man
.
voici une application pour console d'essai:
using System;
namespace Testing
{
class Program
{
static void Main(string[] args)
{
if (args!= null && args.Length > 0)
Console.WriteLine(args[0]);
Console.ReadKey();
}
}
}
J'espère que cela vous fera gagner du temps.