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;
  }
相关推荐
rainbow68891 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python
打小就很皮...4 分钟前
React Router 7 全局路由保护
前端·react.js·router
起风的蛋挞14 分钟前
Matlab提示词语法
前端·javascript·matlab
有味道的男人14 分钟前
1688获得商品类目调取商品榜单
java·前端·spring
txwtech21 分钟前
第20篇esp32s3小智设置横屏
前端·html
Exquisite.28 分钟前
企业高性能web服务器---Nginx(2)
服务器·前端·nginx
DFT计算杂谈35 分钟前
VASP+PHONOPY+pypolymlpj计算不同温度下声子谱,附批处理脚本
java·前端·数据库·人工智能·python
广州华水科技39 分钟前
如何选择合适的单北斗变形监测系统来保障水库安全?
前端
Mr_Xuhhh44 分钟前
MySQL表的内连接与外连接详解
java·前端·数据库
Amumu1213844 分钟前
Vue Router(一)
前端·javascript·vue.js