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 Start
quindi nel Find
tipo regedit
-> dovrebbe aprirsiRegistry editor
Fare clic Right Mousesu HKEY_CLASSES_ROOT
quindi New
->Key
testus://sdfsdfsdf
) quindi fare clic Right Mousesu testus
-> quindi New
-> String Value
e aggiungere URL protocol
senza valore.New
-> Key
) e crea una gerarchia come testus
-> shell
-> open
-> command
e all'interno command
cambia (Default)
il percorso in cui .exe
vuoi 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 Chrome
o Firefox
) e inserisci testus:have_you_seen_this_man
questo 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: //.