急 VB.Net 中如何使用 EnumWindows啊

急急急 VB.Net 中怎么使用 EnumWindows啊?
按照之前的AddressOf的方法,总是提示不是委托类型的错误,应该怎么弄呢?

------解决方案--------------------
示意:
Public Delegate Function EnumWindowsCallback( _
ByVal hWnd As IntPtr, _
ByVal lParam As IntPtr) As Boolean

<DllImport( "user32.dll ")> _
Public Shared Function EnumChildWindows( _
ByVal hwndParent As IntPtr, _
ByVal lpEnumFunc As EnumWindowsCallback, _
ByVal lParam As IntPtr) As Boolean
End Function


Private Function InternalEnumWindows(ByVal hWnd As IntPtr, ByVal lParam As IntPtr) As Boolean
gWindows.Add(New WindowsInfo(hWnd))
Return True
End Function

Sub New()
EnumWindows(AddressOf InternalEnumWindows, IntPtr.Zero)
End Sub
------解决方案--------------------
<DllImport( "user32.dll ")> _
Public Shared Function EnumWindows( _
ByVal callback As EnumWindowsCallback, _
ByVal extraData As IntPtr) As Boolean
End Function
------解决方案--------------------
学习
------解决方案--------------------
同意水如烟的回答。