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?
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?
Antworten:
Gehen Sie Startdann in FindTyp regedit-> es sollte sich öffnenRegistry editor
Klicken Sie Right Mouseauf HKEY_CLASSES_ROOTdann New->Key
testus://sdfsdfsdf). Klicken Sie dann Right Mouseauf testus-> dann New-> String Valueund fügen Sie URL protocolohne Wert hinzu.New-> Key) und Hierarchie erstellen wie testus-> shell-> open-> commandund innerhalb commandÄnderung (Default)auf den Pfad , in dem .exeSie 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(nicht Chromeoder Firefox) und geben Sie testus:have_you_seen_this_mandiese sollten Feuer Ihre .exe(geben Sie einige Anweisungen , dass Sie dies tun wollen - sagen Ja) und gelangen in args testus://have_you_seen_this_man.Hier ist eine Beispiel-Konsolen-App zum Testen:
using System;
namespace Testing
{
class Program
{
static void Main(string[] args)
{
if (args!= null && args.Length > 0)
Console.WriteLine(args[0]);
Console.ReadKey();
}
}
}
Hoffe das spart dir etwas Zeit.
Ich denke, dies wird in MSDN behandelt. Weitere Informationen finden Sie unter Registrieren einer Anwendung für ein URL-Protokoll .
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.