views:

1232

answers:

4

I would like telnet://blah to open putty and not the native windows telnet client.

I don't even know what this 'feature' is called under windows so I'm having no luck find any information about it.

Thanks in advance, Jan

+3  A: 

See here for an example

Preet Sangha
+2  A: 

To change the telnet: protocol handler (or any other existing handler) on XP (may work for Vista - I haven't looked), go to Control Panel > Folder Options > File Types (Tab). Scroll down (not much, it's near the top) to find (NONE) URL:Telnet Protocol, and hit the "Advanced" button. From here on in, it's just like changing a file type association. Note that the target application needs to support the passing of the supplied URL as a parameter.

Unfortunately, the "New" button doesn't seem to allow the creation of new "URL" types, as it requires the entry of an extension. To create a new one, I've previously had to copy an existing entry from the registry (that is: find, export, edit in text editor, and re-import).

Jason Musgrove
+7  A: 

If it's simple, you can do it via the command line:

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

Otherwise you'll need to use the registry as previously posted.

Richard Szalay
Thanks for that Richard, ftype looks like just the thing.However, when I create a binding like:ftype ssh=c:\putty %1When I try and run 'ssh:' I get 'Access Denied'...
Jan Bannister
I found that in Vista I'm getting 'File not found' depending on user administrative rights and UAC turned on or off. http: and mailto: as protocols doesn't have this problem
Goran Peroš
+4  A: 

It's a registry keys that provides the custom URI handlers.

Here's an article on it on MSDN, to quote some of it:

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"

That would you allow to do

alert:some message

And your application would obviously receive the "some message" as its argument.

Chris S