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

使用VSTO 2016 Word插件时外部链接未在默认浏览器打开问题

解决方案

你查到的旧回答中提到的「无法实现」是指无法直接修改VSTO任务面板内置IE控件的默认跳转浏览器规则,但可以通过以下两种可落地的方案绕过限制,实现外部链接用系统默认浏览器打开的需求:

方案1:拦截超链接点击事件,主动唤起默认浏览器(仅当前插件生效,推荐)

该方案通过拦截任务面板浏览器控件的跳转请求,取消默认行为后调用系统API打开链接,系统会自动唤起配置的默认浏览器:

  • 首先在VSTO项目的任务面板页,给WebBrowser控件绑定Navigating事件
  • 逻辑中过滤掉自有站点的内部跳转,仅拦截外部链接请求
  • 调用Process.Start()传入目标URL完成唤起

对应C#代码示例:

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    // 替换为你的站点域名,内部跳转不拦截
    if (!e.Url.Host.Equals("your-website.com", StringComparison.OrdinalIgnoreCase))
    {
        // 取消控件默认跳转行为
        e.Cancel = true;
        // 调用系统默认程序打开URL,会自动唤起默认浏览器
        System.Diagnostics.Process.Start(e.Url.ToString());
    }
}
  • 如果你将任务面板的默认IE内核WebBrowser控件替换为新版WebView2控件,只需要把拦截逻辑绑定到NavigationStarting事件即可,同时还能解决IE内核的网页兼容性问题,更推荐优先升级。

方案2:修改Office全局注册表配置(所有Office程序生效)

如果不需要限制仅当前插件生效,可以通过修改注册表强制所有Office内的超链接都调用系统默认浏览器打开:

  • 按下Win+R输入regedit打开注册表编辑器
  • 定位到路径:HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Links(如果Links项不存在可以手动新建)
  • 新建DWORD(32位)值,命名为BrowsingOpenInDefault,数值数据设置为1
  • 重启Word后配置即可生效

该配置为全局生效,会修改当前用户下所有Office程序的超链接打开规则,适合自用场景,分发插件时不建议要求用户修改注册表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:42:03