winform调用浏览器打开页面方法分享,希望对大家有帮助

在很多客户端程序中我们都需要调用浏览器打开网页,这里分享一个可以在我winform程序调用浏览器的方法,测试通过了。

下载查看demo

看演示图

1.调用谷歌浏览器打开网页(打开百度)

2.调用IE打开页面(打开百度)

3.调用用户默认设置的浏览器打开百度页面

测试都是通过的,有些电脑因为没有安装IE浏览器特别是一些Ghost系统,导致IE打开不成功,这里我建议大家可以调用谷歌浏览器,因为比较这是现在最主流的浏览器之一,谷歌没有就打开系统默认的,实在不行就打开IE。

项目测试中,还真有一些客户的电脑用IE打不开,最后安装谷歌就可以了。

附加源码程序demo:

下载查看demo

最后我们加上源码

        /// <summary>
        /// 调用系统浏览器打开网页
        /// http://m.jb51.net/article/44622.htm
        /// </summary>
        /// <param name="url">打开网页的链接</param>
        public static void OpenBrowserUrl(string url)
        {
            try
            {
                // 64位注册表路径
                var openKey = @"SOFTWARE\Wow6432Node\Google\Chrome";
                if (IntPtr.Size == 4)
                {
                    // 32位注册表路径
                    openKey = @"SOFTWARE\Google\Chrome";
                }
                RegistryKey appPath = Registry.LocalMachine.OpenSubKey(openKey);
                // 谷歌浏览器就用谷歌打开,没找到就用系统默认的浏览器
                // 谷歌卸载了,注册表还没有清空,程序会返回一个"系统找不到指定的文件。"的bug
                var openPath = appPath != null ? "chrome.exe" : "EXPLORER.EXE";
                Process.Start(openPath, url);
            }
            catch
            {
                // 出错调用用户默认设置的浏览器,还不行就调用IE
                OpenDefaultBrowserUrl(url);
            }
        }

        /// <summary>
        /// 用IE打开浏览器
        /// </summary>
        /// <param name="url"></param>
        public static void OpenIe(string url)
        {
            try
            {
                Process.Start("iexplore.exe", url);
            }
            catch(Exception ex)
            {
                LogUtil.WriteException(ex);
                // 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);
                        }
                        else
                        {
                            if (MessageBox.Show("系统未安装IE浏览器,是否下载安装?", null, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                // 打开下载链接,从微软官网下载
                                OpenBrowserUrl("http://windows.microsoft.com/zh-cn/internet-explorer/download-ie");
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                  LogUtil.WriteException(exception);
                }
            }
        }

        /// <summary>
        /// 打开系统默认浏览器(用户自己设置了默认浏览器)
        /// </summary>
        /// <param name="url"></param>
        public static void OpenDefaultBrowserUrl(string url)
        {
            try
            {
                Process.Start("EXPLORER.EXE", url);
            }
            catch
            {
                OpenIe(url);
            }
        }

  如果对你有帮助希望你可以喜欢,点个赞。

时间: 2024-08-03 09:26:01

winform调用浏览器打开页面方法分享,希望对大家有帮助的相关文章

java 调用浏览器打开页面

public static void openURL(String url) { try { browse(url); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error attempting to launch web browser:\n" + e.getLocalizedMessage()); } } private static void browse(String url) throws Cla

点击微信防封短链接强制使用浏览器打开页面的遮罩层最新实现方案!

相信在微信中做推广的朋友一定都遇到这种情况的.当你需要在微信中推广的时候会发现,自己的网页被微信屏蔽了,还有就是说APP的下载链接在微信中点击是无法下载的.必须要手动点击,右上角的三个点,然后选择在浏览器中打开,才可以顺利完成! 虽然说这个对于我们比较了解微信的朋友来说是很简单,很轻松的!但是使用微信的百分之九十都是小白,他们是不知道有这部操作的. 今天要加的是一个终极解决方法:强制使用浏览器打开页面的遮罩层. 再也不用管微信如何的更新,直接判断微信的UA,然后弹出一个遮罩提示用户在浏览器中打开

java调用浏览器打开链接代码

调用IE浏览器打开链接URL:Runtime.getRuntime().exec("cmd /c start iexplore http://www.baidu.com/"); 或 ProcessBuilder builder = new ProcessBuilder( "c:\\Program Files\\Internet Explorer\\iexplore", "http://www.baidu.com"); builder.start(

winform 指定浏览器打开链接

  Process myProcess = new Process();   myProcess.StartInfo.FileName = "firefox.exe";//"firefox.exe";// "iexplore.exe";  //chrome  //iexplore.exe //哪个浏览器打开   myProcess.StartInfo.Arguments = result;   myProcess.Start();

winform调用浏览器

方法1: private void button1_Click(object sender, EventArgs e) 02.{ 03. //从注册表中读取默认浏览器可执行文件路径 04. RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\"); 05. string s = key.GetValue("").ToString(); 06. 07. //s就是你的默

浏览器打开页面的过程

比如在浏览器中打开https://www.baidu.com 1. 把域名解析成IP地址(DNS:把域名转换成IP) 在互联网上计算机的地址是IP地址,通过IP地址能够找到某一台计算机 2.建立连接 浏览器会和对方的计算机接头(对暗号)确认通信的双方都在,而且都有时间通信 发送请求数据(其中包括请求头,请求行,请求体等等,而且通过请求头浏览可以向服务器传递很多额外的信息) 百度服务器接收数据,然后百度服务器会分析和处理这些数据,最后百度返回浏览器需要的响应数据(包括响应行,响应头,响应体以及空行

Android调用浏览器打开网址遇到的问题

我自己的手机(一加一代,升级了氢OS),然后在点击游戏内一个"隐私政策"-- 需要打开一个网页,然后就crash了.出错的信息如下: 完全是看不出来,然后我单独写了一个demo来测试那段代码,发现错误的详情是这样: 09-29 11:45:27.576: E/AndroidRuntime(17871): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.

C# 调用浏览器打开网址

private void button1_Click(object sender, EventArgs e) { //调用系统默认的浏览器 System.Diagnostics.Process.Start(http://www.baidu.com); }

C#调用浏览器打开网页

从注册表中读取默认浏览器可执行文件路径 private void button1_Click(object sender, EventArgs e) { //从注册表中读取默认浏览器可执行文件路径 RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\"); string s = key.GetValue("").ToString(); //s就是你的默认浏览器,不过后