2013-02-12 145 views
2

我想在我的項目中使用Mibbit irc,到目前爲止運行良好,但存在缺陷。點擊聊天時粘貼的鏈接將在Internet Explorer中打開,而不是用戶的默認Web瀏覽器。我試着實現一個簡單的代碼,但其中一半似乎被忽略。WebBrowser忽略代碼

http://i.stack.imgur.com/FKGGr.jpg

WebBrowser組件啓動頁:http://widget.mibbit.com/?settings=4abcd3a5f0bf25306d4c6d1968e28cb2&server=irc.mibbit.net&channel=%23Mytestchannel12345

忽略,如果包含:mibbit.com(聊天widged)& ad4game.com(愚蠢的旗幟......) 如果包含,因爲它把不同橫幅 - 因此,不同的鏈接。對於widged,它顯然有幾個服務器託管它,並重定向到其中的一些,如widged1.mibbit.com,widged2.mibbit.com等。

在默認用戶瀏覽器中打開:全部,除了上述2。

Public Class Form1 
Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating 
    Dim navTo As String = e.Url.ToString 
    If Not (navTo.ToLower.Contains("mibbit.com") OrElse navTo.ToLower.Contains("ad4game.com") OrElse navTo.ToLower.Contains("about:blank")) Then 
     e.Cancel = True 
     System.Diagnostics.Process.Start(e.Url.ToString()) 
    End If 
End Sub 
End Class 

沒有到目前爲止工作...

+0

我確定您知道WebBrowser控件是.NET的一部分,而不是VB.NET的一部分? – 2013-02-13 03:01:36

回答

0

好吧,我已經更新您的代碼示例:

添加新的功能,找出路徑默認瀏覽器是什麼:

Public Class Form1 
Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating 
    Dim navTo As String = e.Url.ToString 
    If Not (navTo.ToLower.Contains("mibbit.com") OrElse navTo.ToLower.Contains("ad4game.com") OrElse navTo.ToLower.Contains("about:blank")) Then 
     e.Cancel = True 
     System.Diagnostics.Process.Start(GetDefaultBrowserPath, e.Url.ToString()) 
    End If 
End Sub 

' get the default folder path from the registry 
Public Function GetDefaultBrowserPath() As String 
    Dim defaultbrowser As String = My.Computer.Registry.GetValue("HKEY_CLASSES_ROOT\HTTP\shell\open\command", "", "Not Found") 
    Return Split(defaultbrowser, """")(1) 
End Function 

End Class 
+0

我明白你的意思,但不太清楚如何實現它,但我仍然會嘗試從中得到一些東西。 這裏是一個測試解決方案,讓你可以更熟悉情況。我已經在整個谷歌的各種論壇漫遊,但沒有類似的。我真的不知道如何使它成爲可能,如果是的話。 https://dl.dropbox.com/u/75261985/Solution.zip @John Saunders,謝謝你照顧它,我會看看你給我的那個鏈接。 – 2013-02-13 21:50:47

+0

好吧,我現在正在計算機上測試我的代碼,所以我更新了GetDefaultBrowserPath()函數。試試這個,它適用於我。 – 2013-02-14 21:27:01

+0

我試過使用你的代碼,但我不太清楚如何管理它的工作。你可以提供一個例子嗎?我真的處於shift + del的邊緣,並開始閱讀關於C#:-( – 2013-02-17 03:27:43