2009-04-28 8 views
18

Me gustaría que telnet: // blah abra masilla y no el cliente nativo windows telnet.¿Cómo puedo agregar un controlador de url personalizado en Windows. Me gusta iTunes itms: //

Ni siquiera sé cómo se llama esta "función" en Windows, así que no tengo suerte para encontrar información al respecto.

Gracias de antemano, Jan

+0

Consulte [aquí] (http://blogs.msdn.com/b/noahc/archive/2006/10/19/register-a-custom-url-protocol-handler.aspx) para ver un ejemplo. –

Respuesta

16

Si es simple, puede hacerlo a través de la línea de comandos:

ftype telnet # view current binding 
ftype telnet=\path\to\putty.exe %1 

De lo contrario, tendrá que utilizar el registro tal como fue anunciado previamente.

+0

Gracias por eso, Richard, parece ser el tipo. Sin embargo, cuando se crea una unión como: ftype ssh = c: \ masilla% 1 Cuando intento y 'ssh:' correr consigo 'Acceso denegado' ... –

+0

me encontré con que en Vista estoy obteniendo 'Archivo no encontrado' según los derechos administrativos del usuario y el UAC activado o desactivado. http: y mailto: como los protocolos no tienen este problema –

+3

Desafortunadamente, ftype solo en la línea de comando dará "se niega el acceso". También debe agregar la clave en blanco "Protocolo URL" que figura en el ejemplo del registro. El artículo enlazado de MSDN cubre esto. – studgeek

2

Para cambiar el telnet: controlador de protocolo (o cualquier otra existente manejador) en XP (que puede funcionar para Vista - No he mirado), vaya a Panel de control> Opciones de carpeta> Tipos de archivo (pestaña). Desplácese hacia abajo (no mucho, está cerca de la parte superior) para encontrar (NINGUNA) URL: Protocolo Telnet, y presione el botón "Avanzado". De aquí en adelante, es como cambiar una asociación de tipo de archivo. Tenga en cuenta que la aplicación de destino debe admitir el paso de la URL proporcionada como parámetro.

Desafortunadamente, el botón "Nuevo" no parece permitir la creación de nuevos tipos de "URL", ya que requiere la entrada de una extensión. Para crear uno nuevo, previamente tuve que copiar una entrada existente del registro (es decir, buscar, exportar, editar en el editor de texto y volver a importar).

12

Es una clave de registro que proporciona los controladores de URI personalizados.

Here's an article on it on MSDN, por citar algunos de ellos:

HKEY_CLASSES_ROOT 
    alert 
      (Default) = "URL:Alert Protocol" 
      URL Protocol = "" 
      DefaultIcon 
       (Default) = "alert.exe" 
      shell 
       open 
        command 
         (Default) = "C:\Program Files\Alert\alert.exe" "%1" 

Eso le permitirá hacer de alerta

: algún mensaje

Y su aplicación, obviamente, recibir el "alguna mensaje "como su argumento.

+4

Esto funciona muy bien, pero el protocolo también se pasa. Entonces, en su ejemplo, la aplicación envía "alerta: algún mensaje".¿Alguna sugerencia o idea sobre cómo quitar la alerta: desactivada antes de que la aplicación la reciba? He intentado la sustitución de cadenas como% 1: alerta: =%, pero parece que no funciona. – studgeek

+0

[este artículo de stackoverflow] (http://stackoverflow.com/questions/23334946/cmd-batch-registry-string-replace-not-working-as-expected/23339563#23339563) tiene la respuesta. – Air2

0

Puede utilizar siguiente secuencia de comandos: https://gist.github.com/sbiffi/11256316

Asocia telnet: // y ssh: // URL a un script que analiza los parámetros de la URL y lanza masilla.

No es necesario cambiar la masilla También es compatible con el inicio de sesión pasado (y la contraseña para ssh).

Cuestiones relacionadas