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

如何在注册表协议处理程序中直接处理%1参数去除协议前缀

直接在注册表处理协议唤起参数的方案

不用中间批处理,直接修改注册表的命令配置就能解决,核心是利用Windows命令行的字符串截取语法预处理参数:

  • 把shell\open\command\(Default)的原有值替换成:

    cmd /c ""path-to-my-app\my-app.exe" "%~1:~14%""
    
  • 拆解一下这个配置的逻辑:

    • cmd /c:调用命令提示符执行后续命令后自动退出
    • %~1:去除原始参数%1(即my-protocol://my-info-to-pass)的外层引号,避免截取时出现语法问题
    • :~14:跳过参数字符串的前14个字符——my-protocol://刚好是14个字符,跳过之后剩下的就是你需要的my-info-to-pass
    • 嵌套双引号:确保应用路径包含空格时能被正确识别,同时让命令提示符可以正确解析整个命令
  • 注意事项:

    • 如果你的协议前缀长度不同(比如是my-protocol:不带//),需要自行准确计算字符数,调整~14中的数字
    • 输入注册表值时要注意引号的嵌套格式,写错会导致应用无法正常唤起

内容的提问来源于stack exchange,提问作者Cyber-Doc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:35:58