¿Cómo registro un protocolo de URL personalizado en Windows?
protocols custom-url-protocol (3)
Vaya a
Start
luego enFind
escribaregedit
-> debería abrirRegistry editor
Haga clic con el botón derecho del mouse en
HKEY_CLASSES_ROOT
luego enNew
->Key
- En la Clave, ingrese el nombre en minúsculas con el que desea que se llamen las urls (en mi caso será
testus://sdfsdfsdf
) y luego haga clic con el Mouse derecho entestus
-> luegoNew
->String Value
y agregue elURL protocol
sin valor.
- A continuación, agregue más entradas como lo hizo con el protocolo ( Right Mouse
New
->Key
) y cree una jerarquía comotestus
->shell
->open
-> y dentro delcommand
change(Default)
a la ruta donde.exe
desea iniciar, si desea pasar parámetros a su exe, ajuste la ruta de acceso a exe en""
y agregue"%1"
para que se vea como:"c:/testing/test.exe" "%1"
- Para probar si funciona ve a
Internet Explorer
(noChrome
oFirefox
) ytestus:have_you_seen_this_man
esto debería disparar tu.exe
(darte algunas indicaciones de que quieres hacer esto - diga Sí) y pasar a argstestus://have_you_seen_this_man
.
Aquí hay una aplicación de consola de muestra para probar:
using System;
namespace Testing
{
class Program
{
static void Main(string[] args)
{
if (args!= null && args.Length > 0)
Console.WriteLine(args[0]);
Console.ReadKey();
}
}
}
Espero que esto te ahorre algo de tiempo.
¿Cómo registro un protocolo personalizado con Windows para que al hacer clic en un enlace en un correo electrónico o en una página web, se abra mi aplicación y se le pasen los parámetros de la URL?
Creo que esto está cubierto en MSDN, consulte Registro de una aplicación a un protocolo de URL .
El enlace de MSDN es bueno, pero la información de seguridad no está completa. El registro del controlador debe contener "% 1", no% 1. Esta es una medida de seguridad, debido a que algunas fuentes de URL decodifican% 20 incorrectamente antes de invocar el controlador de protocolo personalizado.
PD. Obtendrá la URL completa, no solo los parámetros de URL. Pero la URL puede estar sujeta a algunos malos tratos, además de la ya mencionada conversión de espacio% 20->. Ayuda a ser conservador en el diseño de sintaxis de su URL. No arroje al azar // o se meterá en el lío de ese archivo: // es.