Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Sub Form_Load()
WebBrowser1.Navigate2 "http://popo.163.com/download.shtml"
End Sub
Private Sub Timer1_Timer()
Dim lngFrmHwnd As Long
Dim lngBtnHwnd As Long
lngFrmHwnd = FindWindow(vbNullString, "文件下载 - 安全警告") '修改窗口标题
If lngFrmHwnd > 0 Then
lngBtnHwnd = FindWindowEx(lngFrmHwnd, ByVal 0&, "BUTTON", vbNullString)
End If
If lngBtnHwnd > 0 Then
SendMessage lngBtnHwnd, WM_LBUTTONDOWN, ByVal 0&, ByVal 0&
SendMessage lngBtnHwnd, WM_LBUTTONUP, ByVal 0&, ByVal 0&
Timer1.Enabled = False
End If
End Sub
Private Sub WebBrowser1_FileDownload(Cancel As Boolean)
Timer1.Enabled = True
Timer1.Enabled = 100
End Sub
博客展示了一段代码,利用WebBrowser控件访问网页,当出现文件下载安全警告窗口时,借助Timer定时器触发事件。通过FindWindow和FindWindowEx函数查找窗口和按钮句柄,再用SendMessage函数模拟鼠标点击操作,自动处理下载警告。
701

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



