C#获取本地浏览器,C#查找本地浏览器,查询谷歌浏览器,依次打开各种浏览器

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace usdoc.Browser
{
    internal class bMain
    {
        public static class BrowserHelper
        {
            /// 
            /// 谷歌浏览器注册表地址
            /// 
            private const string ChromeAppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe";
            /// 
            /// 火狐浏览器注册表地址
            /// 
            private const string FirefoxAppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe";
            /// 
            /// Edge浏览器注册表地址
            /// 
            private const string MSEdgeAppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe";
            /// 
            /// 360极速浏览器注册表地址
            /// 
            private const string Chrome360AppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\360chrome.exe";
            /// 
            /// 通过默认浏览器打开Url
            /// 
            /// Url地址
            private static void OpenDefaultBrowserUrl(string url)
            {
                Process.Start(url);
            }
            /// 
            /// 通过IE浏览器打开Url
            /// 
            /// Url地址
            private static void OpenIeBrowserUrl(string url)
            {
                Process.Start("iexplore.exe", url);
            }
            /// 
            /// 打开浏览器,根据谷歌--Edge--火狐--360--IE
            /// 
            public static void OpenBrowserByOrder(string url)
            {
                try
                {
                    //通过注册表找到谷歌浏览器安装路径
                    string chromeAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + ChromeAppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + ChromeAppKey, "", null));
                    // 如果未找到谷歌浏览器则使用默认浏览器打开
                    if (!String.IsNullOrWhiteSpace(chromeAppFileName))
                    {
                        // 打开谷歌浏览器
                        Process.Start(chromeAppFileName, url);
                        return;
                    }
                    else
                    {
                        // 通过注册表找到Edge浏览器安装路径
                        string msedgeAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + MSEdgeAppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + MSEdgeAppKey, "", null));
                        // 如果未找到Edge浏览器则使用默认浏览器打开
                        if (!String.IsNullOrWhiteSpace(msedgeAppFileName))
                        {
                            //打开Edge浏览器
                            Process.Start(msedgeAppFileName, url);
                            return;
                        }
                        else
                        {
                            // 通过注册表找到火狐浏览器安装路径
                            string firefoxAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + FirefoxAppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + FirefoxAppKey, "", null));
                            // 如果未找到火狐浏览器则使用默认浏览器打开
                            if (!String.IsNullOrWhiteSpace(firefoxAppFileName))
                            {
                                // 打开火狐浏览器
                                Process.Start(firefoxAppFileName, url);
                                return;
                            }
                            else
                            {
                                // 通过注册表找到360极速浏览器安装路径
                                string chrome360AppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + Chrome360AppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + Chrome360AppKey, "", null));
                                // 如果未找到360极速浏览器则使用默认浏览器打开
                                if (!String.IsNullOrWhiteSpace(chrome360AppFileName))
                                {
                                    // 打开360极速浏览器浏览器
                                    Process.Start(chrome360AppFileName, url);
                                    return;
                                }
                                else
                                {
                                    OpenDefaultBrowserUrl(url);
                                }
                            }
                        }
                    }
                }
                catch
                {
                    //如果发生异常则使用默认浏览器打开
                    try
                    {
                        OpenDefaultBrowserUrl(url);
                    }
                    catch { }
                }
            }
            /// ·1
            /// 通过谷歌浏览器打开Url
            /// 
            /// Url地址
            private static void OpenGoogleBrowserUrl(string url)
            {
                try
                {
                    // 通过注册表找到谷歌浏览器安装路径
                    string chromeAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + ChromeAppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + ChromeAppKey, "", null));
                    // 如果未找到谷歌浏览器则使用默认浏览器打开
                    if (String.IsNullOrWhiteSpace(chromeAppFileName))
                    {
                        OpenDefaultBrowserUrl(url);
                        return;
                    }
                    // 打开谷歌浏览器
                    Process.Start(chromeAppFileName, url);
                }
                catch
                {
                    // 如果发生异常则使用默认浏览器打开
                    OpenDefaultBrowserUrl(url);
                }
            }
            /// 
            /// 通过火狐浏览器打开Url
            /// 
            /// Url地址
            private static void OpenFirefoxBrowserUrl(string url)
            {
                try
                {
                    // 通过注册表找到火狐浏览器安装路径
                    string firefoxAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + FirefoxAppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + FirefoxAppKey, "", null));
                    // 如果未找到火狐浏览器则使用默认浏览器打开
                    if (String.IsNullOrWhiteSpace(firefoxAppFileName))
                    {
                        OpenDefaultBrowserUrl(url);
                        return;
                    }
                    // 打开火狐浏览器
                    Process.Start(firefoxAppFileName, url);
                }
                catch
                {
                    // 如果发生异常则使用默认浏览器打开
                    OpenDefaultBrowserUrl(url);
                }
            }
            /// 
            /// 通过Edge浏览器打开Url
            /// 
            /// Url地址
            private static void OpenMSEdgeBrowserUrl(string url)
            {
                try
                {
                    // 通过注册表找到Edge浏览器安装路径
                    string msedgeAppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + MSEdgeAppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + MSEdgeAppKey, "", null));
                    // 如果未找到Edge浏览器则使用默认浏览器打开
                    if (String.IsNullOrWhiteSpace(msedgeAppFileName))
                    {
                        OpenDefaultBrowserUrl(url);
                        return;
                    }
                    // 打开Edge浏览器
                    Process.Start(msedgeAppFileName, url);
                }
                catch
                {
                    // 如果发生异常则使用默认浏览器打开
                    OpenDefaultBrowserUrl(url);
                }
            }
            /// 
            /// 通过360极速浏览器打开Url
            /// 
            /// Url地址
            private static void OpenChrome360BrowserUrl(string url)
            {
                try
                {
                    // 通过注册表找到360极速浏览器安装路径
                    string chrome360AppFileName = (string)(Registry.GetValue("HKEY_LOCAL_MACHINE" + Chrome360AppKey, "", null) ?? Registry.GetValue("HKEY_CURRENT_USER" + Chrome360AppKey, "", null));
                    // 如果未找到360极速浏览器则使用默认浏览器打开
                    if (String.IsNullOrWhiteSpace(chrome360AppFileName))
                    {
                        OpenDefaultBrowserUrl(url);
                        return;
                    }

                    // 打开360极速浏览器浏览器
                    Process.Start(chrome360AppFileName, url);
                }
                catch
                {
                    // 如果发生异常则使用默认浏览器打开
                    OpenDefaultBrowserUrl(url);
                }
            }
            /// 
            /// 指定浏览器地址打开Url
            /// 
            /// 指定的浏览器地址
            /// Url地址
            public static void OpenBrowserUrl(string fileName, string url)
            {
                Process.Start(fileName, url);
            }
            /// 
            /// 通过浏览器打开Url
            /// 
            /// Url地址
            /// 指定打开的浏览器类型
            public static void OpenBrowserUrl(string url, BrowserType type = BrowserType.Default)
            {
                switch (type)
                {
                    case BrowserType.Default:
                        OpenDefaultBrowserUrl(url);
                        break;
                    case BrowserType.IE:
                        OpenIeBrowserUrl(url);
                        break;
                    case BrowserType.Google:
                        OpenGoogleBrowserUrl(url);
                        break;
                    case BrowserType.Firefox:
                        OpenFirefoxBrowserUrl(url);
                        break;
                    case BrowserType.Edge:
                        OpenMSEdgeBrowserUrl(url);
                        break;
                    case BrowserType.Chrome360:
                        OpenChrome360BrowserUrl(url);
                        break;
                    default:
                        OpenDefaultBrowserUrl(url);
                        break;
                }
            }
        }
        /// 
        /// 浏览器类型
        /// 
        public enum BrowserType
        {
            /// 
            /// 默认浏览器
            /// 
            Default = 0,
            /// 
            /// IE浏览器
            /// 
            IE = 1,
            /// 
            /// Google浏览器
            /// 
            Google = 2,
            /// 
            /// 火狐
            /// 
            Firefox = 3,
            /// 
            /// Microsoft Edge
            /// 
            Edge = 4,
            /// 
            /// 360极速浏览器
            /// 
            Chrome360 = 5,
        }

    }
}

你可能感兴趣的:(javascriptc#)