2012-11-27 147 views
1

我花了3個小時試圖找到解決方案,但沒有太多。有些人靠得很近,但爲我工作。 (的Process.Start或外殼的不是提前爲我工作,我想在一個特定網站的所有超鏈接中的默認瀏覽器,而不是IE打開。下面是我使用的代碼。在默認瀏覽器中打開所有超鏈接

感謝。

Try 
     If IsConnectionAvailable("http://google.com") = True Then 
      MapBrowser.Navigate("http://localhost") 
      ' Me.BackgroundImage = System.Drawing.Image.FromFile(ImgBackground) 
     Else 
      MapBrowser.Navigate("http://yahoo.com") 
      Timer4.Start() 
     End If 

    Catch ex As Exception 
     MsgBox(ex.Message()) 
    End Try 
+1

'Process.Start()'確實會在默認瀏覽器中打開一些東西。如果IE打開,那麼IE是您的默認瀏覽器。 – Brad

回答

1

風風火火的瀏覽器控件的Navigating事件,然後處理您要在新窗口中打開的。Process.Start()會打開默認瀏覽器,如果打開IE你,那麼IE是默認瀏覽器。

Private Sub webBrowser1_Navigating(_ 
    ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _ 
    Handles webBrowser1.Navigating 

    If Not (e.Url = "some URL you don't want to pop up in new window") Then 
     Process.Start(e.Url.ToString()) 
     e.Cancel = true 
    End If 
End Sub 

未經測試,b你明白了嗎? Brad的例子

+0

我在我的表單中有多個瀏覽器,以便確定我爲每個瀏覽器命名了不同的名稱。 – vamsi

+0

嗨布拉德感謝您的幫助。但我試過這個,沒有幫助。我試圖做的是在vb應用程序瀏覽器中加載一個網頁,如果有人點擊超鏈接,它應該默認打開(在這種情況下是chrome)而不是ie。以上代碼建議的是在我不想要的默認瀏覽器中加載初始url本身。例如:www.mysite.com應該在vb應用程序中打開。所有www.mysite.com鏈接都應在默認瀏覽器中打開。我希望我能正確解釋我的問題。 – vamsi

+0

如果您再次閱讀我的示例,您會看到我建議您完全按照您的要求進行操作。您當然需要檢查'e.Url'屬性以查看它是否應該加載到您的應用中的URL。一個簡單的'if'塊會做。 – Brad

0
Private Sub webBrowser1_Navigating(ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) Handles webBrowser1.Navigating 
'if the url isnt a part of your site 
If Not e.Url.ToString().Contains("http://yoursite.com") Then 
    Process.Start(e.Url.ToString()) 
    e.Cancel = true 
End If 
End Sub 
0

大廈,你可以讓這樣的事情,這將在Web瀏覽器的控制和在默認瀏覽器的所有後續鏈路的負載的第一頁:

Private Sub Form1_Leave(sender As Object, e As EventArgs) Handles Me.FormClosing 
    OpenAllInBrowser = False ' This is to reset the variable to False, because 
End Sub      ' sometimes closing the form doesn't reset the variables. 

Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted 
    OpenAllInBrowser = True 
End Sub 

Private OpenAllInBrowser As Boolean = False 

Private Sub webBrowser1_Navigating(ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating 
    If OpenAllInBrowser Then 
     Process.Start(e.Url.ToString()) 
     e.Cancel = True 
    End If 
End Sub 

希望這有助於。

相關問題