You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome浏览器file协议限制绕过:自定义URL协议实现相关问题咨询

自定义URL协议实现本地路径打开问题解答

疑问逐一解答

  • 问题1:"URL Protocol"=""是否是协议名称的定义位置?是否需要设置为"URL Protocol"="ih-link"?还是需要替换注册表路径中的IntranetFileLauncher?
    解答:URL Protocol不是协议名称的定义位置,它只是一个标记项,作用是告知Windows当前注册表项对应的是自定义URL协议而非普通文件关联,保持空值""即可不需要修改。协议名称由HKEY_CLASSES_ROOT\后的根节点名称决定,你需要把原有方案路径中的IntranetFileLauncher替换为你自定义的ih-link,即可完成协议名的定义。
  • 问题2:配置中涉及explorer.exe的部分是否仅用于指定该协议的显示图标?
    解答:不是。涉及explorer.exe的配置分为两处,作用完全不同:
    1. [HKEY_CLASSES_ROOT\ih-link\DefaultIcon]项下的explorer.exe路径仅用于指定该协议链接在浏览器中显示的图标
    2. [HKEY_CLASSES_ROOT\ih-link\shell\open\command]项下的explorer.exe是点击协议链接时实际调用的执行程序,负责打开目标路径
  • 问题3:注册表路径[HKEY_CLASSES_ROOT\IntranetFileLauncher\shell]和[HKEY_CLASSES_ROOT\IntranetFileLauncher\shell\open]的作用分别是什么?
    解答:
    1. shell项是该协议所有可执行动作的根配置节点,你可以在这里添加多个动作(比如打开、打印等),它的默认值可设置默认触发的动作名称
    2. shell\open是具体的「打开」动作的配置节点,对应的子项command用来定义触发这个动作时要执行的系统命令
  • 问题4:方案末尾的配置逻辑是否是剥离URL中的协议头,将剩余的文件路径传递给explorer打开?路径分隔符是否需要用\而非/?
    解答:是的,配置的核心逻辑就是先剥离ih-link:前缀,把剩余的路径参数传递给explorer.exe执行。路径分隔符方面,Windows资源管理器本身兼容/和\两种格式,但为了避免特殊场景下的解析异常,建议优先使用Windows标准的\作为分隔符,网页生成链接时可以提前把路径中的/替换为\再拼接协议头。

操作提醒

修改注册表前可以先右键点击HKEY_CLASSES_ROOT对应要修改的项,选择「导出」备份原始配置,出现异常时双击备份的reg文件即可恢复。


内容的提问来源于stack exchange,提问作者Anthony LoPrimo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:30:01