WPF外部打开html文件

注意:这是一份提供WPF外部浏览器打开html的方法,而不是WPF内部嵌入html

需要通过浏览器打开,否则无法使用地址栏拼接参数的形式操作html

下面是打开html的方法↓

csharp 复制代码
 string localHtmlPath = @"C:\Users\pangb\Downloads\Help\帮助文档 - 副本.html";

 if (File.Exists(localHtmlPath))
 {
     try
     {
         string browserPath = GetDefaultBrowserPath();

         string fullUri = new Uri(localHtmlPath).AbsoluteUri + "?page=first.html";
         
         Process.Start(browserPath, $"\"{fullUri}\"");
     }
     catch (Exception ex)
     {
         MessageBox.Show($"打开文件时出错: {ex.Message}");
     }
 }
 else
 {
     MessageBox.Show("HTML文件未找到!");
 }

这是获取浏览器的方法↓

csharp 复制代码
  private string GetDefaultBrowserPath()
  {
      try
      {
          string name = Microsoft.Win32.Registry.GetValue(
              @"HKEY_CLASSES_ROOT\http\shell\open\command", "", null) as string;

          if (name != null)
          {
              // 清理路径(移除参数和引号)
              if (name.Contains("\""))
                  name = name.Substring(1, name.IndexOf('"', 1) - 1);

              return name;
          }
      }
      catch
      {
          // 忽略错误,返回空字符串
      }

      return null;
  }
相关推荐
CDN36019 小时前
排查实录:网站偶发502/504错误?360CDN回源超时配置与日志分析技巧
前端·数据库
之歆19 小时前
Day07_CSS盒子模型 · 样式继承 · 用户代理样式
前端·css
DanCheOo19 小时前
AI 应用的安全架构:Prompt 注入、数据泄露、权限边界
前端·人工智能·prompt·安全架构
We་ct20 小时前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
weixin_4277716121 小时前
前端调试隐藏元素
前端
爱上好庆祝1 天前
学习js的第五天
前端·css·学习·html·css3·js
C澒1 天前
IntelliPro 产研协作平台:基于 AI Agent 的低代码智能化配置方案设计与实现
前端·低代码·ai编程
一袋米扛几楼981 天前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
网络点点滴1 天前
前端与后端的区别与联系
前端
EnCi Zheng1 天前
M5-markconv自定义CSS样式指南 [特殊字符]
前端·css·python