Come registro un protocollo personalizzato con Windows in modo che quando si fa clic su un collegamento in un'e-mail o in una pagina Web la mia applicazione viene aperta e i parametri dall'URL vengono passati ad essa?
Come registro un protocollo personalizzato con Windows in modo che quando si fa clic su un collegamento in un'e-mail o in una pagina Web la mia applicazione viene aperta e i parametri dall'URL vengono passati ad essa?
Risposte:
Vai a Startquindi nel Findtipo regedit-> dovrebbe aprirsiRegistry editor
Fare clic Right Mousesu HKEY_CLASSES_ROOTquindi New->Key
testus://sdfsdfsdf) quindi fare clic Right Mousesu testus-> quindi New-> String Valuee aggiungere URL protocolsenza valore.New-> Key) e crea una gerarchia come testus-> shell-> open-> commande all'interno commandcambia (Default)il percorso in cui .exevuoi avviare, se vuoi passare i parametri al tuo exe, avvolgi il percorso in exe in ""e aggiungi "%1"per assomigliare a:"c:\testing\test.exe" "%1" Internet Explorer(non Chromeo Firefox) e inserisci testus:have_you_seen_this_manquesto dovrebbe attivare il tuo .exe(darti alcuni suggerimenti che vuoi farlo - dì Sì) e passare in args testus://have_you_seen_this_man.Ecco un'app console di esempio da testare:
using System;
namespace Testing
{
class Program
{
static void Main(string[] args)
{
if (args!= null && args.Length > 0)
Console.WriteLine(args[0]);
Console.ReadKey();
}
}
}
Spero che questo ti faccia risparmiare tempo.
Penso che questo sia trattato in MSDN, vedere Registrazione di un'applicazione su un protocollo URL .
Il collegamento MSDN è carino, ma le informazioni sulla sicurezza non sono complete. La registrazione del gestore dovrebbe contenere "% 1", non% 1. Questa è una misura di sicurezza, perché alcune origini URL decodificano in modo errato% 20 prima di richiamare il gestore del protocollo personalizzato.
PS. Otterrai l'intero URL, non solo i parametri URL. Ma l'URL potrebbe essere soggetto a maltrattamenti, oltre alla già citata conversione dello spazio% 20->. È utile essere prudenti nella progettazione della sintassi dell'URL. Non inserire // in modo casuale o finirai nel caos che è il file: //.