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

Win10下gpedit注册自定义协议调用VBS失败但CMD运行正常怎么办

问题背景

运行环境为Win10系统,编写用于启动IE浏览器的VBS脚本openIE.vbs,脚本代码如下:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c start """" /max ""C:\\Program Files\\Internet Explorer\\iexplore.exe"" """+"https://www.google.com"+"""",vbhide

在CMD窗口中直接执行以下命令调用脚本时,脚本可正常运行:

"C:\Program Files\chromeOpenIE\openIE.vbs"

通过gpedit操作在注册表中注册自定义URL协议chromeOpenIE,注册表配置内容如下:

Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\chromeOpenIE]
@="IE"
"URL Protocol"=""
 
[HKEY_CLASSES_ROOT\chromeOpenIE\DefaultIcon]
@="iexplore.exe,1"
 
[HKEY_CLASSES_ROOT\chromeOpenIE\shell]
 
[HKEY_CLASSES_ROOT\chromeOpenIE\shell\open]
 
[HKEY_CLASSES_ROOT\chromeOpenIE\shell\open\command]
@="\"C:\\Program Files\\chromeOpenIE\\openIE.vbs\""

注册完成后,通过访问地址chromeOpenIE://触发脚本执行时操作失败。

故障原因
  • 关联程序配置错误:.vbs属于脚本文件,并非系统可直接执行的PE程序,自定义URL协议触发时不会自动调用脚本宿主解析执行,直接填写VBS文件路径无法正常启动脚本。
  • 注册表配置格式错误:原配置中路径转义逻辑混乱,多余的转义字符导致系统无法识别正确的文件路径,同时缺少参数占位符,协议触发时传入的参数无法正常传递。
    注:CMD中直接执行VBS路径可正常运行,是因为系统已为.vbs后缀配置了默认关联至wscript脚本宿主,该默认关联逻辑在自定义URL协议调用场景下不生效。
修复方法
  • 修正注册表command项配置:明确指定wscript.exe作为脚本执行宿主,补全正确的程序路径、脚本路径和参数占位符%1。修正后[HKEY_CLASSES_ROOT\chromeOpenIE\shell\open\command]项的默认值为:
    "C:\Windows\System32\wscript.exe" "C:\Program Files\chromeOpenIE\openIE.vbs" %1
    
    对应的完整可用reg文件内容如下:
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\chromeOpenIE]
    @="IE"
    "URL Protocol"=""
     
    [HKEY_CLASSES_ROOT\chromeOpenIE\DefaultIcon]
    @="iexplore.exe,1"
     
    [HKEY_CLASSES_ROOT\chromeOpenIE\shell]
     
    [HKEY_CLASSES_ROOT\chromeOpenIE\shell\open]
     
    [HKEY_CLASSES_ROOT\chromeOpenIE\shell\open\command]
    @="\"C:\\Windows\\System32\\wscript.exe\" \"C:\\Program Files\\chromeOpenIE\\openIE.vbs\" %1"
    
  • (可选优化)原VBS脚本中路径双反斜杠属于冗余写法,VBS字符串内路径使用单反斜杠即可,优化后兼容性更强,优化后的脚本代码:
    Set ws = CreateObject("Wscript.Shell")
    ws.run "cmd /c start """" /max ""C:\Program Files\Internet Explorer\iexplore.exe"" ""https://www.google.com""",vbhide
    
  • 导入修正后的注册表文件,重启资源管理器或注销重新登录系统后,访问chromeOpenIE://即可正常触发脚本启动IE。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:27:19