在用 WPF 做扫雷小游戏的时候,需要使用默认浏览器打开网页,但是从网上搜索来的答案都是下面这样的。

System.Diagnostics.Process.Start("www.bing.com");

但是在程序中这样写的时候,会发生如下错误:

(我当前的运行环境是 VS2022 + .Net6.0)

我在中文的搜索引擎上找了半天都没找到解决方法,最后在 Stack Overflow上找到了解决方案(源网址见下面的参考资料)。所以在这里记录下来,希望能帮到更多的人。

出现这样的原因是在 .Net Core 中,为了保证跨平台性,需要委托 Windows Shell 来实现的一些事情需要使用 Process.StartUseShellExecute=true 来显式的声明。

所以在 .Net Core 和 .Net 5、.Net 6 中应该使用如下方法:

var destinationurl = "www.bing.com";
var sInfo = new ProcessStartInfo(destinationurl)
{UseShellExecute = true,
};
Process.Start(sInfo);

参考资料

System.Diagnostics.Process.Start · Issue #2566 · dotnet/wpf (github.com)

c# - Open Browser with URL WPF - Stack Overflow

WPF 学习笔记-使用默认浏览器打开网页出现用户未处理的异常相关推荐

  1. WPF学习笔记(数据绑定篇3)

    接上回的<WPF学习笔记(数据绑定篇2)>,继续 BindValidation 此示例演示了: 如何使用错误模板: 使用样式显示错误信息: 如何在校验发生异常时执行回调: 首先,你可以看见 ...

  2. WPF学习笔记(7):DataGrid中数字自定义格式显示

    WPF学习笔记(7):DataGrid中数字自定义格式显示 原文:WPF学习笔记(7):DataGrid中数字自定义格式显示 DataGrid中数据显示如下图,数据格式比较杂乱.希望达到以下要求:(1 ...

  3. Python学习笔记:爬取网页图片

    Python学习笔记:爬取网页图片 上次我们利用requests与BeautifulSoup爬取了豆瓣<下町火箭>短评,这次我们来学习爬取网页图片. 比如想爬取下面这张网页的所有图片.网址 ...

  4. C# 在win10/win11调用默认浏览器打开网页

    对于使用C#调用默认浏览器打开网页这个话题,网上资源一般都用的是Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\" ...

  5. oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例

    天萃荷净 触发器实现指定用户登录oracle,分享一篇关于Oracle数据库安全策略,通过Oracle触发器实现限定user用户登录Oracle数据库的方法 1.创建允许登录用户表 CREATE TA ...

  6. Vue + Spring Boot 学习笔记02:引入数据库实现用户登录功能

    Vue + Spring Boot 学习笔记02:引入数据库实现用户登录功能 在学习笔记01里,我们利用跨域打通了前端的Vue与后端的Spring Boot,实现了用户登录功能,但是后台的登录控制器在 ...

  7. Node.js+mongodb 学习笔记(三)swagger注释+用户管理

    Node.js+mongodb 学习笔记(三)swagger注释+用户管理 Node.js+mongodb 学习笔记(三)swagger注释+用户管理 用户注册 用户登录 修改密码 swagger注释 ...

  8. WPF学习笔记-第二周【基本笔刷】

    书接上回,这一次,讲的是WPF中的基本笔刷,由于是菜鸟,就不多说了,继续帖示例代码:) 第一部份 代码 第二章 基本笔刷 第一个 示例 VaryTheBackgroud P38  1     #reg ...

  9. VC 使用IE、火狐或默认浏览器打开网页ShellExecute

    使用IE打开: ShellExecute(NULL, _T("open"), _T("IExplore.exe"), _T("http://...&q ...

最新文章

  1. 一步步写STM32 OS【二】环境搭建
  2. python中统计计数的几种方法
  3. Effective Java之优先使用标准的异常(六十)
  4. [Silverlight入门系列]使用MVVM模式(3):Model的INotifyPropertyChanged接口实现
  5. 用SmarterFox替换Internet Explorer的“加速器”
  6. 服务器硬盘 主板,服务器主板和普通主板有什么区别?
  7. 使用opensll的md5对于string进行加密
  8. mysql导入的excel更新_excel导入数据库,存在则更新不存在添加
  9. 网站布局中遇到的一些问题
  10. HCIE-Security Day5:防火墙会话表和转发原理
  11. 看看我能帮上大家的什么忙? 文平
  12. 安装mysql输入_安装mysql
  13. MGV2000_S905L系列_线刷_通刷固件
  14. 工具系列 | 使用Lodop进行WEB打印程序开发
  15. 2018程序员拜年的奇思妙想,涨姿势了
  16. Java程序设计与项目实战(全程实录)全新上市
  17. 算法设计例题分析 食物链
  18. CF-1200D White Lines(前缀和来两发么小老弟?)
  19. 资料:SAP所有模块用户出口(User Exits)
  20. 【学习笔记】【正则表达式】`A-Za-z`和`A-z`的区别,前者更精准,后者包括部分字符。

热门文章

  1. 计算机主机内部包括什么,电脑主机的内部构造是什么?
  2. Java多线程(线程创建、线程安全问题解决、线程状态)
  3. 计算机主机实际功率,一台台式计算机(高配置)消耗一千瓦电几个小时?
  4. JAVA设计模式第四讲:行为型设计模式
  5. JetBrains宣布:产品涨价!
  6. JDK API 1.60 中文版(Java 1.6 中文帮助文档)
  7. python 遍历文件夹下所有mp3
  8. 测开之路四十六:正则表达式
  9. 金迪短信猫在linux下面的应用
  10. maya中英文对照_maya菜单中英文对照(1)_maya教程