Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows上添加自定义url处理程序。与iTunes itms类似://_Windows_Url_Shell_Protocol Handler - Fatal编程技术网

如何在Windows上添加自定义url处理程序。与iTunes itms类似://

如何在Windows上添加自定义url处理程序。与iTunes itms类似://,windows,url,shell,protocol-handler,Windows,Url,Shell,Protocol Handler,我想要telnet://blah 打开putty而不是本机windows telnet客户端 我甚至不知道这个“功能”在windows下叫什么,所以我没有运气找到任何关于它的信息 提前感谢,, Jan要更改XP上的telnet:protocol处理程序(或任何其他现有处理程序)(可能适用于Vista-我还没看过),请转到控制面板>文件夹选项>文件类型(选项卡)。向下滚动(不多,靠近顶部)找到(无)URL:Telnet协议,然后点击“高级”按钮。从现在开始,这就像更改文件类型关联一样。请注意,目标

我想要telnet://blah 打开putty而不是本机windows telnet客户端

我甚至不知道这个“功能”在windows下叫什么,所以我没有运气找到任何关于它的信息

提前感谢,,
Jan

要更改XP上的telnet:protocol处理程序(或任何其他现有处理程序)(可能适用于Vista-我还没看过),请转到控制面板>文件夹选项>文件类型(选项卡)。向下滚动(不多,靠近顶部)找到(无)URL:Telnet协议,然后点击“高级”按钮。从现在开始,这就像更改文件类型关联一样。请注意,目标应用程序需要支持将提供的URL作为参数传递


不幸的是,“新建”按钮似乎不允许创建新的“URL”类型,因为它需要输入扩展名。要创建一个新条目,我以前必须从注册表中复制一个现有条目(即:查找、导出、在文本编辑器中编辑,然后重新导入)。

如果简单,可以通过命令行执行:

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

否则,您将需要使用之前发布的注册表。

它是一个提供自定义URI处理程序的注册表项

,引用其中一些:

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"
你会允许这样做吗

警报:一些消息


应用程序显然会收到“some message”作为其参数。

您可以使用以下脚本:

它将telnet://和ssh://URL关联到一个脚本,该脚本解析URL中的参数并启动putty

无需更换腻子
它还支持传递登录名(以及ssh的密码)。

感谢Richard,ftype看起来就是这样。但是,当我创建一个绑定时,比如:ftype ssh=c:\putty%1,当我尝试运行'ssh:'时,我得到'Access Denied'…我发现在Vista中,我得到的'File not found'取决于用户管理权限和UAC的打开或关闭。http:和mailto:由于协议没有这个问题,不幸的是,命令行上的ftype单独会给出“访问被拒绝”。您还需要添加注册表示例中列出的空白“URL协议”密钥。链接的MSDN文章介绍了这一点。这很有效,但协议也被传递了。因此,在您的示例中,应用程序是发送“警报:某些消息”。在应用程序收到警报之前,有没有关于如何解除警报的提示/想法?我尝试过像%1:alert:=%这样的字符串替换,但似乎不起作用。有答案。有关示例,请参见。