‘以下是遍历所有的IE窗口,包括MyIE等基于IE控件的其他浏览器。
‘我在windows2000+myie2调试通过。至于你说用控件可以解决,我好像还没看到这样的控件。
”””””””””””””””””””””””””””””””””””””””’
‘Addressof 一定要放在标准模块中,所以以下部分放在标准模块中,在外面调用 GetAllIEAddress 就是
Option Explicit
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
‘相关 API 函数声明
Private Declare Function SendMessageByString Lib “user32″ Alias “SendMessageA” (ByVal hwnd As Long,ByVal wMsg As Long,ByVal wParam As Long,ByVal lParam As String) As Long
Private Declare Function FindWindow Lib “user32″ Alias “FindWindowA” (ByVal lpClassName As String,ByVal lpWindowName As String) As Long
Private Declare Function RegisterWindowMessage Lib “user32″ Alias “RegisterWindowMessageA” (ByVal lpString As String) As Long
Private Declare Function SendMessageTimeout Lib “user32″ Alias “SendMessageTimeoutA” (ByVal hwnd As Long,ByVal msg As Long,ByVal lParam As Long,ByVal fuFlags As Long,ByVal uTimeout As Long,lpdwResult As Long) As Long
Private Declare Function FindWindowEx Lib “user32″ Alias “FindWindowExA” (ByVal hWnd1 As Long,ByVal hWnd2 As Long,ByVal lpsz1 As String,ByVal lpsz2 As String) As Long
Private Const SMTO_ABORTIFHUNG = &H2
Private Declare Function ObjectFromLresult Lib “oleacc” (ByVal lResult As Long,riid As GUID,ppvObject As Any) As Long
Private Declare Function EnumWindows Lib “user32″ (ByVal lpEnumFunc As Any,ByVal lParam As Long) As Long’枚举窗口列表中的所有父窗口(顶级和被所有窗口)
Private Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hwnd As Long,ByVal lpString As String,ByVal cch As Long) As Long ‘取得指定窗口的司法题
Private Declare Function GetClassName Lib “user32″ Alias “GetClassNameA” (ByVal hwnd As Long,ByVal lpClassName As String,ByVal nMaxCount As Long) As Long ‘为指定的窗口取得类名
Private Declare Function GetWindow Lib “user32″ (ByVal hwnd As Long,ByVal wCmd As Long) As Long’取得窗口句柄
Private Declare Function SendMessage Lib “user32″ Alias “SendMessageA” (ByVal hwnd As Long,lParam As Any) As Long ‘发送消息
Private Const GW_CHILD = 5
Private Const GW_HWNDNEXT = 2
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
Private strIEAddress As String
Public Function GetAllIEAddress() As String
strIEAddress = “”
EnumWindows AddressOf EnumProc,0
‘If strIEAddress <> “” Then
‘GetIEAddress = “”
‘GetIEAddress = GetIEAddress & “”
‘GetIEAddress = GetIEAddress & “” & Format(Now,“yyyy-MM-dd HH:mm:ss”) & “”
‘GetIEAddress = GetIEAddress & “2”
‘GetIEAddress = GetIEAddress & “
” & ReplaceXMLIn(strIEAddress) & “”‘GetIEAddress = GetIEAddress & “”
‘Else
‘GetIEAddress = “”
‘End If
End Function
‘遍查主窗口
Private Function EnumProc(ByVal app_hwnd As Long,ByVal lParam As Long) As Boolean
Dim buf As String * 1024
Dim Length As Long
Dim
VB.NET中WebBrowser使用及网页源码获取

本文介绍了如何在VB.NET中使用WebBrowser控件遍历和获取HTML5网页的源码。通过API函数声明、枚举窗口、递归遍查子窗口,以及使用MSHTML接口,详细展示了获取网页URL、HTML内容的方法。
最低0.47元/天 解锁文章
1071

被折叠的 条评论
为什么被折叠?



