天天看點

vb 點超連結 坐标

引用: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()