Comment enregistrer un protocole D'URL personnalisé dans Windows?

Comment enregistrer un protocole personnalisé avec Windows de sorte que lorsque vous cliquez sur un lien dans un e-mail ou sur une page web, mon application est ouverte et les paramètres de L'URL lui sont passés?

44
demandé sur qub1n 2008-09-17 10:57:30

3 réponses

je pense que C'est couvert dans MSDN, s'il vous plaît voir enregistrer une Application à un protocole URL .

25
répondu Jonas Gulle 2014-05-12 13:43:57

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://.

19
répondu MSalters 2008-09-17 10:48:55
  1. passer à Start puis dans Find type regedit - > il doit s'ouvrir Registry editor

  2. , Cliquez sur Droit de la Souris sur HKEY_CLASSES_ROOT alors New -> Key

enter image description here

  1. 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 sur testus -> puis New -> String Value et ajouter URL protocol sans valeur.

enter image description here

  1. puis Ajouter d'autres entrées comme vous l'avez fait avec le protocole ( souris droite New -> Key ) et créer une hiérarchie comme testus -> shell -> open -> command et à l'intérieur de command 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"

enter image description here

  1. pour tester si ça marche, allez à Internet Explorer (pas Chrome ou Firefox ) et entrer testus:have_you_seen_this_man cela devrait tirer votre .exe (vous donner quelques indices que vous voulez faire ceci - dire oui) et passer dans args testus://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.

15
répondu Matas Vaitkevicius 2017-05-13 01:56:26