鸟食轩

 Microsoft .NET[C#] MVP 2003
随笔 - 424, 文章 - 233, 评论 - 5420, 引用 - 344
数据加载中……

Code: Open URL by a New Browser

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( 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()
    
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

posted on 2005-09-11 21:51 birdshome 阅读(463) 评论(0)  编辑 收藏 所属分类: .NET技术开发相关


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-03-25 11:23 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: