【问题标题】:How can I add a custom url handler on Windows. Like iTunes itms://如何在 Windows 上添加自定义 url 处理程序。喜欢 iTunes itms://
【发布时间】:2010-10-22 06:10:23
【问题描述】:

我希望 telnet://blah 打开 putty 而不是本机 Windows telnet 客户端。

我什至不知道这个“功能”在 Windows 下被称为什么,所以我没有运气找到任何有关它的信息。

提前致谢, 一月

【问题讨论】:

标签: windows url shell protocol-handler


【解决方案1】:

您可以使用以下脚本: https://gist.github.com/sbiffi/11256316

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

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

【讨论】:

    【解决方案2】:

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

    Here's an article on it on MSDN,引用其中的一些内容:

    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"
    

    你会允许这样做

    警报:一些消息

    您的应用程序显然会收到“一些消息”作为其参数。

    【讨论】:

    • 这很好用,但协议也通过了。因此,在您的示例中,应用程序发送“警报:某些消息”。关于如何去除警报的任何提示/想法:在应用程序收到它之前关闭?我尝试过像 %1:alert:=% 这样的字符串替换,但它似乎不起作用。
    【解决方案3】:

    如果简单的话,你可以通过命令行来做:

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

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

    【讨论】:

    • 感谢 Richard,ftype 看起来就是这样。但是,当我创建如下绑定时: ftype ssh=c:\putty %1 当我尝试运行 'ssh:' 时,我得到 'Access Denied'...
    • 我发现在 Vista 中我得到“找不到文件”取决于用户管理权限和 UAC 打开或关闭。 http: 和 mailto: as 协议没有这个问题
    • 不幸的是,仅在命令行上的 ftype 就会给出“访问被拒绝”。您还需要添加注册表示例中列出的空白“URL 协议”键。链接的 MSDN 文章涵盖了这一点。
    【解决方案4】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2013-04-28
      • 2019-10-15
      相关资源
      最近更新 更多