引用:http://blog.csdn.net/lbuskeep/article/details/6206615
核心代碼:
hwnd是窗體的句柄,這個過程會自動查找第一個webbrowser進行點選,其實這種代碼是不友善公開的,現在好多的廣告代碼都會判斷滑鼠的位置,sendmessage點選的滑鼠坐标都是負數,呵呵,小心點
'點選廣告(窗體,X,Y)
Public Sub adGoClick(ByVal hWnd As Long, cX As Long, cY As Long)
Dim RetVal As Long
Dim hwndPeer As Long
Dim ClassString As String * 256
Dim tm As Long
'點選位置(坐标)
tm = cX + cY * 65536
'找到IE句柄
Dim tmpHwnd As Long
hwndPeer = GetWindow(hWnd, GW_CHILD)
Do While hwndPeer
RetVal = GetClassName(hwndPeer, ClassString, 256)
If RetVal <> 0 Then
If Left$(ClassString, InStr(ClassString, Chr$(0)) - 1) = "Shell Embedding" Then
tmpHwnd = FindWindowEx(hwndPeer, 0&, "Shell DocObject View", vbNullString)
If tmpHwnd <> 0 Then
tmpHwnd = FindWindowEx(tmpHwnd, 0&, "Internet Explorer_Server", vbNullString)
If tmpHwnd <> 0 Then Exit Do
End If
'獲得下一個視窗的句柄
hwndPeer = GetWindow(hwndPeer, GW_HWNDNEXT)
Loop
If tmpHwnd = 0 Then Exit Sub
'執行點選
PostMessage tmpHwnd, WM_LBUTTONDOWN, 0, ByVal (tm)
Sleep 200
PostMessage tmpHwnd, WM_LBUTTONUP, 0, ByVal (tm)
DoEvents
End Sub
2.
Private Sub Command1_Click()
For i = 0 To WebBrowser1.Document.All.length - 1
If UCase(WebBrowser1.Document.All(i).tagname) = "A" Then
WebBrowser1.Document.All(i).Click
End If
Next
Private Sub Form_Load()