Not sure if this helps but it's what I use for getting mIRC to handle the telnet: protocol

Code:
on 1:LOAD:if ($os == XP) && ($input(Do you want this addon to run when you click on telnet links in your browser?,yvqd,Telnet v1.0 loaded - usage: /telnet ) == $yes) urlhandler
alias -l urlhandler {
  write -c telnet.reg Windows Registry Editor Version 5.00
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet]
  write telnet.reg @="URL:Telnet Protocol"
  write telnet.reg "EditFlags"=dword:00000002
  write telnet.reg "URL Protocol"=""
  write telnet.reg "BrowserFlags"=dword:00000008
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\DefaultIcon]
  write telnet.reg @=" $+ $replace($mircexe,\,\\) $+ ,0"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell]
  write telnet.reg @="&connect"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell\&connect]
  write telnet.reg @="connect"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell\&connect\command]
  write telnet.reg @="\" $+ $replace($mircexe,\,\\) $+ \" -noconnect"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell\&connect\ddeexec]
  write telnet.reg @="/telnet $chr(37) $+ l"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell\&connect\ddeexec\Application]
  write telnet.reg @="mIRC"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell\&connect\ddeexec\IfExec]
  write telnet.reg @="/telnet $chr(37) $+ l"
  write -i telnet.reg 
  write telnet.reg [HKEY_CLASSES_ROOT\telnet\shell\&connect\ddeexec\Topic]
  write telnet.reg @="Command"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet]
  write telnet.reg @="URL:Telnet Protocol"
  write telnet.reg "EditFlags"=dword:00000002
  write telnet.reg "URL Protocol"=""
  write telnet.reg "BrowserFlags"=dword:00000008
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\DefaultIcon]
  write telnet.reg @=" $+ $replace($mircexe,\,\\) $+ ,0"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell]
  write telnet.reg @="&connect"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell\&connect]
  write telnet.reg @="connect"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell\&connect\command]
  write telnet.reg @="\" $+ $replace($mircexe,\,\\) $+ \" -noconnect"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell\&connect\ddeexec]
  write telnet.reg @="/telnet $chr(37) $+ l"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell\&connect\ddeexec\Application]
  write telnet.reg @="mIRC"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell\&connect\ddeexec\IfExec]
  write telnet.reg @="/telnet $chr(37) $+ l"
  write -i telnet.reg 
  write telnet.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\telnet\shell\&connect\ddeexec\Topic]
  write telnet.reg @="Command"
  run telnet.reg
}