Wie registriere ich ein benutzerdefiniertes Protokoll bei Windows, damit beim Klicken auf einen Link in einer E-Mail oder auf einer Webseite meine Anwendung geöffnet und die Parameter der URL an diese übergeben werden?
windows
url
protocols
custom-url-protocol
lukeck
quelle
quelle
Antworten:
Gehen Sie
Start
dann inFind
Typregedit
-> es sollte sich öffnenRegistry editor
Klicken Sie Right Mouseauf
HKEY_CLASSES_ROOT
dannNew
->Key
testus://sdfsdfsdf
). Klicken Sie dann Right Mouseauftestus
-> dannNew
->String Value
und fügen SieURL protocol
ohne Wert hinzu.New
->Key
) und Hierarchie erstellen wietestus
->shell
->open
->command
und innerhalbcommand
Änderung(Default)
auf den Pfad , in dem.exe
Sie starten möchten , ist, wenn Sie die Parameter auf Ihre exe übergeben wollen , dann wickeln Pfad zu exe in""
und hinzufügen,"%1"
um auszusehen wie:"c:\testing\test.exe" "%1"
Internet Explorer
(nichtChrome
oderFirefox
) und geben Sietestus:have_you_seen_this_man
diese sollten Feuer Ihre.exe
(geben Sie einige Anweisungen , dass Sie dies tun wollen - sagen Ja) und gelangen in argstestus://have_you_seen_this_man
.Hier ist eine Beispiel-Konsolen-App zum Testen:
Hoffe das spart dir etwas Zeit.
quelle
Ich denke, dies wird in MSDN behandelt. Weitere Informationen finden Sie unter Registrieren einer Anwendung für ein URL-Protokoll .
quelle
Der MSDN-Link ist nett, aber die Sicherheitsinformationen dort sind nicht vollständig. Die Handler-Registrierung sollte "% 1" enthalten, nicht% 1. Dies ist eine Sicherheitsmaßnahme, da einige URL-Quellen% 20 falsch dekodieren, bevor Sie Ihren benutzerdefinierten Protokollhandler aufrufen.
PS. Sie erhalten die gesamte URL, nicht nur die URL-Parameter. Neben der bereits erwähnten% 20-> Speicherplatzkonvertierung kann die URL jedoch misshandelt werden. Es ist hilfreich, bei der Gestaltung Ihrer URL-Syntax konservativ zu sein. Wirf kein zufälliges // ein, sonst gerätst du in das Chaos, das file: // ist.
quelle