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定義一個變量,下次有很大的用處,今天先到這里了。