Definice URL protokolu

Thursday 29.12.2011 21:17:48, Jakuje

Kategorie: Programování | Windows

Tak ještě jednou, co je to ten URL protokol? To jsou první znaky před dvojtečkou, které vidíte v poli adresy. Pro web je to HTTP, nebo HTTPS, docela často je používaný mailto pro poslání emailové zprávy. Ale jak vytvořit vlastní, který bych mohl používat?

Původní myšlenka byla, že by mělo být nastavení v prohlížeči, který tyto protokoly zpracovává. V tom mě utvrdila Opera, kde se mi protokol podařilo naklikat. Ale ve Mozille nic takového není. Pouze možnosti změn již definovaných protokolů a typů souborů.

Naštěstí jsem narazil na jakousi KB mozilly, kde byl popsán postup pro Windows, který funguje. Z něj vyplývá několik poznatků. Za prvé nastavení těchto protokolů je na straně systému, nikoliv prohlížeče (výhoda, že se nemusí konfigurovat každý prohlížeč zvlášť), že jméno a akce protokolu je uložena v registrech (konkrétně přímo v HKEY_CLASSES_ROOT) a lze sem zadat přímo příkazy pro shell. Na výše zmíněné stránce je jeden příklad, který si dovolím trochu upravit (Microsoftí KB toto také popisuje, ale na první pohled bych to nepochopil).

Ano. Jednou možností je naklikat v regedit hierarchii:

Zdrojový kód:
HKEY_CLASSES_ROOT foo (Default) = "URL:Foo Protocol"
URL Protocol = ""
shell
open
command
(Default) = "C:Cestakprogramufoo.exe" "%1"

a nebo si vytovřit jednoduchý soubor .reg a do něj umístit tyto řádky:

Zdrojový kód:
REGEDIT4 [HKEY_CLASSES_ROOTfoo] @="URL:Microscope Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOTfooshell] [HKEY_CLASSES_ROOTfooshellopen] [HKEY_CLASSES_ROOTfooshellopencommand] @=""C:\cesta_k_programu.exe" "%1""

a nahradit foo jménem vašeho protokolu a v posledním řádku cestu ke spustitelnému souboru na disku.

Spuštěním tohoto souboru se provede zápis do hierarchie registrů a po otevření vámi vytvořeného protokolu neobdržíte chybovou hlášku, ale již vámi požadovaný program.

Diskuse:

:
:
:

 
    

Podbarvená pole označená hvězdičkou jsou povinná!