共计 5704 个字符,预计需要花费 15 分钟才能阅读完成。
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
{
/// <summary>
/// 谷歌浏览器注册表地址
/// </summary>
private const string ChromeAppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe";
/// <summary>
/// 火狐浏览器注册表地址
/// </summary>
private const string FirefoxAppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe";
/// <summary>
/// Edge 浏览器注册表地址
/// </summary>
private const string MSEdgeAppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe";
/// <summary>
/// 360 极速浏览器注册表地址
/// </summary>
private const string Chrome360AppKey = @"\Software\Microsoft\Windows\CurrentVersion\App Paths\360chrome.exe";
/// <summary>
/// 通过默认浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
private static void OpenDefaultBrowserUrl(string url)
{Process.Start(url);
}
/// <summary>
/// 通过 IE 浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
private static void OpenIeBrowserUrl(string url)
{Process.Start("iexplore.exe", url);
}
/// <summary>
/// 关上浏览器,依据谷歌 --Edge-- 火狐 --360--IE
/// </summary>
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 {}}
}
/// <summary>·1
/// 通过谷歌浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
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);
}
}
/// <summary>
/// 通过火狐浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
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);
}
}
/// <summary>
/// 通过 Edge 浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
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);
}
}
/// <summary>
/// 通过 360 极速浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
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);
}
}
/// <summary>
/// 指定浏览器地址关上 Url
/// </summary>
/// <param name="fileName"> 指定的浏览器地址 </param>
/// <param name="url">Url 地址 </param>
public static void OpenBrowserUrl(string fileName, string url)
{Process.Start(fileName, url);
}
/// <summary>
/// 通过浏览器关上 Url
/// </summary>
/// <param name="url">Url 地址 </param>
/// <param name="type"> 指定关上的浏览器类型 </param>
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;
}
}
}
/// <summary>
/// 浏览器类型
/// </summary>
public enum BrowserType
{
/// <summary>
/// 默认浏览器
/// </summary>
Default = 0,
/// <summary>
/// IE 浏览器
/// </summary>
IE = 1,
/// <summary>
/// Google 浏览器
/// </summary>
Google = 2,
/// <summary>
/// 火狐
/// </summary>
Firefox = 3,
/// <summary>
/// Microsoft Edge
/// </summary>
Edge = 4,
/// <summary>
/// 360 极速浏览器
/// </summary>
Chrome360 = 5,
}
}
}
正文完
发表至: javascript
2022-07-22