vb二次点击

简介: 引用:http://hi.baidu.com/newhandan/item/d11b64e64082cf0f8d3ea8e2 采用WebBrowser控件,以及模拟鼠标操作的API,首先由WebBrowser打开网站页面,然后移动到广告显示的位置,接着模拟鼠标移动到广告所在位置进行点击,打开的内容在第二个WebBrowser中显示,然后移动到二次点击(也就是第二跳)的连接所在位置进行点击.

引用:http://hi.baidu.com/newhandan/item/d11b64e64082cf0f8d3ea8e2

采用WebBrowser控件,以及模拟鼠标操作的API,首先由WebBrowser打开网站页面,然后移动到广告显示的位置,接着模拟鼠标移动到广告所在位置进行点击,打开的内容在第二个WebBrowser中显示,然后移动到二次点击(也就是第二跳)的连接所在位置进行点击.基本上没有再做第三跳的必要了.

下面就是全部的代码.

窗体上有两个COMMAND和两个WebBrowser,FORM1的启动显示位置要设置为屏幕中央

'对于API的调用
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4


Private Sub Command1_Click()
Mouse_click 500, 300
End Sub

Private Sub Command2_Click()
Mouse_click 520, 440
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.zhaobus.net"
End Sub

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
'webbrowser的newwindow2事件中设置新开窗口的对象为webbrowser2
Set ppDisp = WebBrowser2.Objec
End Sub

Private Sub WebBrowser2_DocumentComplete(ByVal pDisp As Object, URL As Variant)
'当下载完毕时移动到二点连接所在位置
WebBrowser2.Document.parentWindow.scrollBy 20, 144
End Sub

Private Sub Mouse_click(x As Integer, y As Integer)
SetCursorPos x, y         '模拟鼠标移动到指定坐标(相对于屏幕)
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0   '模拟鼠标左键按下
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0         '模拟鼠标左键抬起
End Sub

相关文章
还在使用Window原始的CMD界面?教你一招进行界面完美优化(下)
还在使用Window原始的CMD界面?教你一招进行界面完美优化
102 0
还在使用Window原始的CMD界面?教你一招进行界面完美优化(下)
|
大数据 开发工具 git
还在使用Window原始的CMD界面?教你一招进行界面完美优化(上)
还在使用Window原始的CMD界面?教你一招进行界面完美优化
357 0
还在使用Window原始的CMD界面?教你一招进行界面完美优化(上)
VB源码升级后的几幅截图-VBIDE嵌入窗体、代码资源自动加入
用了整整两天的时间终于完成了功能上的升级,但多国语言版和数据库的加密还不知什么时间能做完,所以一时还不能发布,不过作为“内部人员”倒是可以先用为快:)
527 0
|
JavaScript 前端开发
|
存储 JavaScript Android开发
第六章:按钮点击(5)
保存瞬态数据假设你在SimplestKeypad程序中输入了一个重要的数字,并且你的系统崩溃了 - 可能是打了电话。 稍后,您关闭手机,有效终止该程序。下次运行SimplestKeypad时会发生什么? 你以前输入的长串数字是否应该被丢弃? 还是应该看起来好像该程序从您最后离开的状态恢复? 当然,对于像SimplestKeypad这样的简单演示程序来说并不重要,但在一般情况下,用户希望移动应用程序能够准确记住他们上次与程序进行交互时所做的事情。
858 0
|
JavaScript Android开发 iOS开发