自定义URL协议调用Vivaldi时URL无法传递的问题求助
解决自定义URL协议无法向Vivaldi传递目标URL的问题
你的问题出在系统传递给Vivaldi的参数是完整的自定义协议链接(比如viv-window://https://example.com),而Vivaldi无法识别带自定义协议前缀的字符串,需要先剥离前缀再传递。
修改注册表命令配置
将HKEY_CLASSES_ROOT\viv-window\shell\open\command的默认值替换为以下内容:
powershell.exe -Command "Start-Process 'C:\Users\Rick Donald\AppData\Local\Vivaldi\Application\vivaldi.exe' -ArgumentList ($args[0] -replace '^viv-window://', '')" "%1"
命令说明
- 系统会把完整的协议链接(如
viv-window://https://example.com)作为%1传递给PowerShell ($args[0] -replace '^viv-window://', '')会自动剥离开头的viv-window://前缀,得到真正的目标URL(如https://example.com)- 最后调用Vivaldi并传入处理后的目标URL
生效步骤
修改注册表后,注销当前用户再重新登录,或者重启资源管理器,确保注册表配置生效。
之后测试调用viv-window://https://example.com,Vivaldi就会正常打开目标网址了。
内容的提问来源于stack exchange,提问作者JustLearning
相关产品推荐
相关产品推荐

