C# 调用浏览器打开网址

这篇具有很好参考价值的文章主要介绍了C# 调用浏览器打开网址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 调用方法体
            public void OpenBrowser()
            {
                string url = "http://localhost:8055/api";
                bool openRes = OpenBrowserHelper.OpenChromeBrowserUrl(url);
    
                if (!openRes)
                    openRes = OpenBrowserHelper.OpenDefaultBrowserUrl(url);
    
                if (!openRes)
                {
                    // 打开下载链接,从官网下载 谷歌
                    if (MessageBox.Show("系统未安装谷歌(Chrome)浏览器,是否下载安装?", null, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        OpenBrowserHelper.OpenIe("https://www.google.cn/chrome/");
                    }
                }
            }
  • 打开浏览器帮助类
    public class OpenBrowserHelper
        {
            /// <summary>
            /// 调用谷歌(Chrome)浏览器
            /// </summary>
            /// <param name="url">打开网页的链接</param>
            public static bool OpenChromeBrowserUrl(string url)
            {
                bool isOpen = true;
                try
                {
                    // 谷歌浏览器就用谷歌打开,没找到就用系统默认的浏览器
                    // 谷歌卸载了,注册表还没有清空,程序会返回一个"系统找不到指定的文件。"的bug
                    var chromeKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe";
                    // 通过注册表找到谷歌浏览器安装路径
                    string chromeAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + chromeKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + chromeKey, "", null));
                    // 找到谷歌浏览器则打开
                    if (!string.IsNullOrWhiteSpace(chromeAppFileName))
                    {
                        Process.Start(chromeAppFileName, url);
                    }
                    else
                    {
                        isOpen = false;
                        //默认浏览器打开
                       //OpenDefaultBrowserUrl(url);
                    }
                }
                catch
                {
                    isOpen = false;
                }
    
                return isOpen;
            }
    
            /// <summary>
            /// 调用IE浏览器
            /// </summary>
            /// <param name="url"></param>
            public static void OpenIe(string url)
            {
                // IE浏览器路径安装:C:\Program Files\Internet Explorer
                // at System.Diagnostics.process.StartWithshellExecuteEx(ProcessStartInfo startInfo)注意这个错误
                try
                {
                    if (File.Exists(@"C:\Program Files\Internet Explorer\iexplore.exe"))
                    {
                        ProcessStartInfo processStartInfo = new ProcessStartInfo
                        {
                            FileName = @"C:\Program Files\Internet Explorer\iexplore.exe",
                            Arguments = url,
                            UseShellExecute = false,
                            CreateNoWindow = true
                        };
                        Process.Start(processStartInfo);
                    }
                    else
                    {
                        if (File.Exists(@"C:\Program Files (x86)\Internet Explorer\iexplore.exe"))
                        {
                            ProcessStartInfo processStartInfo = new ProcessStartInfo
                            {
                                FileName = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe",
                                Arguments = url,
                                UseShellExecute = false,
                                CreateNoWindow = true
                            };
                            Process.Start(processStartInfo);
                        }                    
                    }
                }
                catch (Exception exception)
                {                
                }
            }
    
            /// <summary>
            /// 调用系统默认浏览器(用户自己设置了默认浏览器)
            /// </summary>
            /// <param name="url"></param>
            public static bool OpenDefaultBrowserUrl(string url)
            {
                bool isOpen = true;
                try
                {
                    //从注册表中读取默认浏览器可执行文件路径
                    RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\");
                    if (key != null)
                    {
                        string browserPath = string.Empty;
                        string[] splitArr = new string[] { };
                        string browser = key.GetValue("").ToString();
    
                        //browser是默认浏览器,不同的浏览器后面的参数不一样。例如:"D:\Program Files (x86)\Google\chrome.exe" -- "%1"
                        var lastIndex = browser.IndexOf(".exe", StringComparison.Ordinal);
                        if (lastIndex == -1)
                            lastIndex = browser.IndexOf(".EXE", StringComparison.Ordinal);
    
                        if (lastIndex != -1)
                        {
                            splitArr = browser.Split("\"");
                        }
                        //大于0 说明 按照 " 切割到数据
                        if (splitArr.Length > 0)
                        {
                            browserPath = splitArr[1];
                        }
                        else if (splitArr.Length == 0 && lastIndex != -1) //说明有浏览器,列如:D:\QQBrowser\QQBrowser.exe
                        {
                            browserPath = browser;
                        }
                        //打开浏览器
                        var result = Process.Start(browserPath, url);
    
                        //调用IE
                        //if (result == null)
                        //    OpenIe(url);
                    }
                    else
                    {
                        isOpen = false; 
                       //OpenIe(url);
                    }
                        
                }
                catch
                {
                    isOpen = false;
                }
                return isOpen;
            }
        }

     文章来源地址https://www.toymoban.com/news/detail-609129.html

到了这里,关于C# 调用浏览器打开网址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 成功解决:下载的谷歌浏览器,打开却是“2345浏览器”,方法亲测有效

     试了网络上提及到的各种方法: 找到谷歌浏览器源文件位置,修改.exe文件命名。重新启动结果无效  方法一卒 同时也试了第二种方法 打开谷歌浏览器,在地址栏输入 chrome://version 进入谷歌浏览器的属性 看黄色部分有没有其他网址信息,有的话在右击浏览器属性命名处进行

    2024年02月06日
    浏览(206)
  • 微信小程序中打开内置浏览器的方法

    因为微信小程序本身是不推荐引流到外部的,所以正规的方法其实都是被禁止掉的。 1.wx.openUrl可直接打开内置浏览器页面 (2021年时可以使用,现在已被禁用) 2.通过原生按钮跳转到小程序客服,客服发送链接卡片,通过卡片的链接进入。 3.跳转到公众号文章,文章底部的查

    2024年02月11日
    浏览(81)
  • Mac电脑Safari浏览器上打开开发者工具的方法

    如果你开发者,需要在Safari 浏览器中调试你的代码,可以按照以下步骤: 如果你右键点击中未看到“开发”菜单,请选取“Safari 浏览器”“设置”,点按“高级”,然后选择“在菜单栏中显示‘开发’菜单”。 不会操作的按照图片步骤操作即可。    

    2024年02月07日
    浏览(89)
  • 帝国CMS手机站限制网页只能在微信浏览器打开的方法

    !DOCTYPE html 有时候我们需要帝国CMS做的网站只能在手机端微信浏览器打开,那么就需要以下步骤了,包括了一个判断方法(前台JS静态判断客户端)! 代码如下: 把以下js代码加到模板里头部 然后在后台栏目-自定义页面-新建个自定义页面-命名为wxError.html 代码以下: 请在微信

    2024年02月03日
    浏览(41)
  • 解决浏览器自动将http网址转https

    突然发现在内网环境下,本应该能访问的内网ip,现在都访问不了。检查后发现原本都是http协议头的网址被浏览器强制使用https连接,因此浏览器访问不了未添加ssl认证的http网址。 解决方案: 方法一:在浏览器安全设置里添加可以显示不安全内容的网址,并将网址改为http。

    2024年02月12日
    浏览(114)
  • Python通过selenium调用IE11浏览器报错解决方法

    正常安装Python 工具,selenium 包可以正常导入。IE浏览器驱动 IEDriverServer.exe 已经正确放置到已经添加path目录的文件下。 报错现象: 打开浏览器进入 internet 选项 切换到安全页签 ,去除“应用保护模式” 再次调用验证: 没有报错,问题解决 https://github.com/SeleniumHQ/selenium/wiki

    2024年02月07日
    浏览(74)
  • Chrome 浏览器获取网址映射 IP 地址 DNS 解析过程详细介绍

    步骤 说明 ① 浏览器输入:http://www.baidu.com ② 查找浏览器自身 DNS 缓存:chrome://net-internals/#dns ③ Windows 系统:查找系统 hosts 文件、Linux 系统:查找 /etc/hosts 文件 ④ 浏览器就会发起一个 DNS 系统调用(向本地域名服务器发起域名解析请求) ⑤ 本地域名服务器 LDNS 替我们的浏

    2024年02月05日
    浏览(114)
  • 好奇喵 | Tor浏览器——访问.onion网址,揭开Dark Web的神秘面纱

    在之前的博客中: 1.Surface Web —> Deep Web —> Dark Web,我们解释了表层网络、深层网络等的相关概念; 2.Tor浏览器——层层剥开洋葱,我们阐述了Tor的历史和基本工作原理; 3.Tor浏览器——如何拥有一颗洋葱并使用,我们介绍了Tor的下载和使用; 本篇博客揭开.onion后缀网址

    2024年02月05日
    浏览(95)
  • Chrome 谷歌浏览器获取网址映射 IP 地址 DNS 域名解析过程介绍(详细教程)

    步骤 说明 ① 浏览器输入:http://www.baidu.com ② 查找浏览器自身 DNS 缓存:chrome://net-internals/#dns ③ Windows 系统:查找系统 hosts 文件、Linux 系统:查找 /etc/hosts 文件 ④ 浏览器就会发起一个 DNS 系统调用(向本地域名服务器发起域名解析请求) ⑤ 本地域名服务器 LDNS 替我们的浏

    2024年02月03日
    浏览(64)
  • Win7系统IE、搜狗等浏览器首页被恶意网址qq789.com.cn劫持……

    刚才,一位朋友的Windows7 电脑中IE、搜狗等浏览器首页被qq789.com.cn劫持,请我通过QQ远程协助帮忙解决。  右击朋友电脑桌面上的Internet Explorer图标,从弹出的菜单中选择“属性”,弹出的“Internet 属性”窗口是这样的: 看起来很奇怪,也很别扭,看起来Internet选项的一些功能

    2024年02月05日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包