C#
private
void OpenUrl(
string url)
{
string browser = GetDefaultBrowser();
if ( browser.Length > 0 )
{
ProcessStartInfo psi =
new ProcessStartInfo();
psi.UseShellExecute =
false;
psi.Arguments = url;
psi.FileName = browser;
System.Diagnostics.Process.Start(psi);
}
else
{
System.Diagnostics.Process.Start(url);
}
}
private
string GetDefaultBrowser()
{
string browser = String.Empty;
RegistryKey key =
null;
try
{
key = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command",
false);
browser = key.GetValue(
null).ToString().ToLower().Replace("\"", "");
if ( !browser.EndsWith(".exe") )
{
browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4);
}
}
catch
{
if ( key !=
null )
{
key.Close();
}
}
return browser;
}
VB.NET
Private
Sub OpenUrl()
Sub OpenUrl(
ByRef url
As
String )
Dim browser
As
String = GetDefaultBrowser()
If browser.Length > 0
Then
Dim psi
As ProcessStartInfo =
New ProcessStartInfo
psi.UseShellExecute =
False
psi.Arguments = url
psi.FileName = browser
System.Diagnostics.Process.Start(psi)
Else
System.Diagnostics.Process.Start(url)
End
If
End Sub
Private
Function GetDefaultBrowser()
Function GetDefaultBrowser()
Dim browser
As
String =
String.Empty
Dim key
As RegistryKey
Try
key = Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command",
False)
browser = key.GetValue(
Nothing).ToString().ToLower().Replace("""", "")
If
Not browser.EndsWith(".exe")
Then
browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4)
End
If
Catch ex
As Exception
If
Not key
Is
Nothing
Then
key.Close()
End
If
End
Try
GetDefaultBrowser = browser
End Function
本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。