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;
  }
相关推荐
人间凡尔赛19 分钟前
2026 前端必修:4 个让 CSS 脱胎换骨的现代新特性(附实战代码)
前端·css
用户21816970493028 分钟前
Flutter (二十) 轮播图
前端
前端snow35 分钟前
ai agent - RAG 汇总
前端
计算机魔术师1 小时前
AI为拿高分不惜入侵网站:22个模型作弊审计,真相让人背脊发凉
前端
晓说前端1 小时前
TypeScript 核心语法应用 —— Vue 3 中的使用(下)
前端·javascript·typescript·类型系统
zhangminghuan1 小时前
微信小程序开发核心知识点全景解析(前端必备硬核基础)
前端·微信小程序·小程序
boooooooom2 小时前
尝尝咸淡:从朴素 RAG 到 Graph RAG——一个烹饪问答系统的三层检索升级之路
前端·后端·llm
cindershade2 小时前
让每条前端异常都能回答:该由谁修、为什么现在修
前端
bitbrowser2 小时前
Telegram提示尝试次数过多,换网络和重装有用吗
前端
研☆香2 小时前
前端简单的的变量声明
前端