请问vb.net中怎么使用webbrowser获取弹出页面的URL

请教vb.net中如何使用webbrowser获取弹出页面的URL?
如题。。找到几个vb的解决办法,但不会转成vb.net。。请教大家了!

------解决方案--------------------

Imports System.Runtime
Imports System.ComponentModel

Public Class ExtendedWebBrowser
Inherits WebBrowser

Private cookie As AxHost.ConnectionPointCookie
Private Shadows events As WebBrowserExtendedEvents
Private Const WM_PARENTNOTIFY As Integer = &H210
Private Const WM_DESTROY As Integer = 2

Public Event WindowClosing()
Public Event NewWindowWithTaget As EventHandler(Of WebBrowserExtendedNavigatingEventArgs)

Protected Overrides Sub WndProc(ByRef m As Message)
Select Case m.Msg
Case WM_PARENTNOTIFY
If (Not DesignMode) AndAlso (m.WParam = WM_DESTROY) Then RaiseEvent WindowClosing()
DefWndProc(m)
Case Else
MyBase.WndProc(m)
End Select
End Sub

Protected Overloads Overrides Sub CreateSink()
MyBase.CreateSink()
events = New WebBrowserExtendedEvents(Me)
cookie = New AxHost.ConnectionPointCookie(Me.ActiveXInstance, events, GetType(DWebBrowserEvents2))
End Sub

Protected Overloads Overrides Sub DetachSink()
If cookie IsNot Nothing Then
cookie.Disconnect()
cookie = Nothing
End If
MyBase.DetachSink()
End Sub

Protected Sub OnNewWindow3(ByVal url As String, ByVal e As WebBrowserExtendedNavigatingEventArgs)
RaiseEvent NewWindowWithTaget(Me, e)
End Sub


Private Class WebBrowserExtendedEvents
Inherits System.Runtime.InteropServices.StandardOleMarshalObject
Implements DWebBrowserEvents2

Private _Browser As ExtendedWebBrowser

Public Sub New(ByVal browser As ExtendedWebBrowser)
_Browser = browser
End Sub

Public Sub NewWindow3(ByVal pDisp As Object, ByRef cancel As Boolean, ByRef flags As Object, ByRef hostURL As Object, ByRef URL As Object) _
Implements DWebBrowserEvents2.NewWindow3

Dim args As New WebBrowserExtendedNavigatingEventArgs(URL)
args.Cancel = cancel
_Browser.OnNewWindow3(URL, args)
cancel = args.Cancel
End Sub
End Class


<InteropServices.ComImport(), InteropServices.Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"), _
InteropServices.InterfaceTypeAttribute(InteropServices.ComInterfaceType.InterfaceIsIDispatch), _
InteropServices.TypeLibType(InteropServices.TypeLibTypeFlags.FHidden)> _
Public Interface DWebBrowserEvents2

<InteropServices.DispId(273)> _
Sub NewWindow3(ByVal pDisp As Object, ByRef cancel As Boolean, ByRef flags As Object, ByRef hostURL As Object, ByRef URL As Object)

End Interface
End Class


Public Class WebBrowserExtendedNavigatingEventArgs
Inherits CancelEventArgs

Private _Url As String
 
Public Sub New(ByVal url As String)
_Url = url
End Sub

Public ReadOnly Property Url() As String
Get
Return _Url
End Get
End Property

End Class

'调用时使用下面的事件
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
Dim NewUrl As String
NewUrl = CType(sender, Windows.Forms.WebBrowser).Document.ActiveElement.GetAttribute("href")
''NewUrl = CType(sender, Windows.Forms.WebBrowser).StatusText
RaiseEvent NewExplorer(NewUrl)'打开新的一页或窗体
e.Cancel = True
End Sub

Private Sub WebBrowser1_NewWindowWithTaget(ByVal sender As Object, ByVal e As WebBrowserExtendedNavigatingEventArgs) Handles WebBrowser1.NewWindowWithTaget