vb模擬器webbrowser實(shí)戰(zhàn)講解之一
2024-09-07 17:32:49
供稿:網(wǎng)友
不知道有沒有看過我寫過的(VB制作簡(jiǎn)單模擬器教程入門版)3篇文章引起了很多網(wǎng)友的反響,感謝各位對(duì)我長(zhǎng)時(shí)間以來的支持和厚愛,這次的目的是將以前的基礎(chǔ)知識(shí)運(yùn)用到實(shí)踐中,我們一起來完成一個(gè)注冊(cè)器,新浪信箱注冊(cè)器。
這個(gè)程序調(diào)試制作環(huán)境:winXp,VB6.0簡(jiǎn)體中文企業(yè)版
開始咯~
很簡(jiǎn)單,打開你的vb,新建一個(gè)標(biāo)準(zhǔn)exe工程,添加2個(gè)Microsoft Internet Controls控件,添加一個(gè)標(biāo)簽控件,一個(gè)按鈕和一個(gè)定時(shí)器,然后我們改一下名,工程名稱:SinaMail,窗體名稱:frmSina,WebBrowser:webSina,WebPop,標(biāo)簽:labStatus,按鈕:cmdGo,定時(shí)器:timWeb,然后不要忘了存盤:)
先來一起看看原理:我寫程序最喜歡先研究原理了,只要原理明白了,一切都不是問題,其他的不介紹了,只介紹一下我們用到的webbrowser相關(guān)的部分
WebBrowser.Navigate "http://net2sky.yeah.net/" 瀏覽一個(gè)網(wǎng)頁
WebBrowser.Busy 判斷是否網(wǎng)頁全部加載完畢
WebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean) 有新新窗口請(qǐng)求彈出,我們要把ppDisp傳一個(gè)webbrowser.object對(duì)像過去,否則就打開默認(rèn)的瀏覽器顯示彈出的窗口,或者Cancel=True就不彈出了。
WebBroswser_StatusTextChange(ByVal Text As String) 瀏覽狀態(tài)改變,當(dāng)前狀態(tài)保存在Text中
正式寫代碼了:
Private Sub Form_Load()
webSina.Navigate "http://net2sky.yeah.net/"
End Sub
這一部分為vb窗體加載時(shí)執(zhí)行的部分,我們讓webSina去瀏覽我的主頁,那里可是有一個(gè)彈出窗口啊,注意咯~
Private Sub webSina_StatusTextChange(ByVal Text As String)
labStatus.Caption = Text
End Sub
如果webbrowser當(dāng)前狀態(tài)改變,那么更新顯示
Private Sub webSina_NewWindow2(ppDisp As Object, Cancel As Boolean)
Set ppDisp = webPop(0).Object
End Sub
我們用webPop(0)來攔截這個(gè)彈出的窗口并顯示,可是在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設(shè)為一個(gè)數(shù)組,只要在設(shè)計(jì)時(shí)把它的index屬性設(shè)為0就可以了,然后聲明一個(gè)模塊級(jí)變量PopNum,不要告訴我看不懂上面的代碼什么意思啊。
Private Sub cmdGo_Click()
webSina.Navigate "http://members.sina.com.cn/apply/"
With timWeb
.Interval = 2000
.Enabled = True
End With
End Sub
點(diǎn)擊按鈕就開始注冊(cè)了至于那個(gè)網(wǎng)址怎么來的,到新浪主頁(這個(gè)不會(huì)不知道把http://www.sina.com.cn)右上角有個(gè),注冊(cè)新會(huì)員把這個(gè)復(fù)制下來就可以了(點(diǎn)右鍵選復(fù)制快捷方式)
Private Sub timWeb_Timer()
If webSina.Busy = True Then Exit Sub
Dim mTag As Object
With webSina
End With
End Sub
這個(gè)可是我們這次任務(wù)的重點(diǎn)咯~基本所有的任務(wù)都在這里完成的,一定要注意。
If webSina.Busy = True Then Exit Sub 如國(guó)網(wǎng)頁沒有完全打開,那么跳出當(dāng)前過程
Dim mTag As Object定義一個(gè)變量,下次有很大的用處,今天先到這里了。