你的位置:首页 > ASP.net教程

[ASP.net教程]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);      }    }

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