vb模拟器webbrowser实战讲解之一
2024-09-07 17:32:49
供稿:网友
不知道有没有看过我写过的(VB制作简单模拟器教程入门版)3篇文章引起了很多网友的反响,感谢各位对我长时间以来的支持和厚爱,这次的目的是将以前的基础知识运用到实践中,我们一起来完成一个注册器,新浪信箱注册器。
这个程序调试制作环境:winXp,VB6.0简体中文企业版
开始咯~
很简单,打开你的vb,新建一个标准exe工程,添加2个Microsoft Internet Controls控件,添加一个标签控件,一个按钮和一个定时器,然后我们改一下名,工程名称:SinaMail,窗体名称:frmSina,WebBrowser:webSina,WebPop,标签:labStatus,按钮:cmdGo,定时器:timWeb,然后不要忘了存盘:)
先来一起看看原理:我写程序最喜欢先研究原理了,只要原理明白了,一切都不是问题,其他的不介绍了,只介绍一下我们用到的webbrowser相关的部分
WebBrowser.Navigate "http://net2sky.yeah.net/" 浏览一个网页
WebBrowser.Busy 判断是否网页全部加载完毕
WebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean) 有新新窗口请求弹出,我们要把ppDisp传一个webbrowser.object对像过去,否则就打开默认的浏览器显示弹出的窗口,或者Cancel=True就不弹出了。
WebBroswser_StatusTextChange(ByVal Text As String) 浏览状态改变,当前状态保存在Text中
正式写代码了:
Private Sub Form_Load()
webSina.Navigate "http://net2sky.yeah.net/"
End Sub
这一部分为vb窗体加载时执行的部分,我们让webSina去浏览我的主页,那里可是有一个弹出窗口啊,注意咯~
Private Sub webSina_StatusTextChange(ByVal Text As String)
labStatus.Caption = Text
End Sub
如果webbrowser当前状态改变,那么更新显示
Private Sub webSina_NewWindow2(ppDisp As Object, Cancel As Boolean)
Set ppDisp = webPop(0).Object
End Sub
我们用webPop(0)来拦截这个弹出的窗口并显示,可是在webPop中要是再有弹出窗口怎么办呢?
Private Sub webPop_NewWindow2(index As Integer, ppDisp As Object, Cancel As Boolean)
If index <= PopNum Then
PopNum = PopNum + 1
Load webPop(PopNum)
End If
Set ppDisp = webPop(index + 1).Object
End Sub
我们把webPop设为一个数组,只要在设计时把它的index属性设为0就可以了,然后声明一个模块级变量PopNum,不要告诉我看不懂上面的代码什么意思啊。
Private Sub cmdGo_Click()
webSina.Navigate "http://members.sina.com.cn/apply/"
With timWeb
.Interval = 2000
.Enabled = True
End With
End Sub
点击按钮就开始注册了至于那个网址怎么来的,到新浪主页(这个不会不知道把http://www.sina.com.cn)右上角有个,注册新会员把这个复制下来就可以了(点右键选复制快捷方式)
Private Sub timWeb_Timer()
If webSina.Busy = True Then Exit Sub
Dim mTag As Object
With webSina
End With
End Sub
这个可是我们这次任务的重点咯~基本所有的任务都在这里完成的,一定要注意。
If webSina.Busy = True Then Exit Sub 如国网页没有完全打开,那么跳出当前过程
Dim mTag As Object定义一个变量,下次有很大的用处,今天先到这里了。