控制其它窗体的按钮点击事件

博客展示了一段代码,利用WebBrowser控件访问网页,当出现文件下载安全警告窗口时,借助Timer定时器触发事件。通过FindWindow和FindWindowEx函数查找窗口和按钮句柄,再用SendMessage函数模拟鼠标点击操作,自动处理下载警告。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值