利用VB實現對IE的調用與控制
時間:2022-11-17 10:43:00
導語:利用VB實現對IE的調用與控制一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
隨著網絡應用的不斷擴展,采用HTML語言編寫的文檔越來越多,如何在vb程序中實現對HTML文檔的瀏覽是一個需要解決的問題。本文以一個實例說明了在VB中調用和控制InternetExplorer的方法。
一、編程準備
VB通過OLE自動化技術創建和控制InternetExplorer對象的實例,因此,在新建一個工程后需要加入MicrosoftInternet控制的參考,方法是打開VisualBasic的Project下拉菜單中的Reference…選項,單擊Browse…按鈕,在Windows的system目錄下找到SHDOCVW.DLL并選中它,它是InternetExplorer的類庫。
二、實現方法
在窗體form1中添加表1所示的控件。控件類型控件名稱控件內容
LabelLable1地址:
TextText1(空)
CommandcmdView瀏覽
CommandcmdForward向前
CommandcmdBackward向后
CommandcmdCloseView關閉瀏覽窗口
CommandcmdExit退出
對上述窗體添加如下代碼即可實現對InternetExplorer的調用與控制,
DimWithEventsieViewAsInternetExplorer
''''在通用模塊中定義InternetExplorer對象
PrivateSubForm_Load()
cmdForward.Visible=False
cmdBackward.Visible=False
cmdCloseView.Visible=False
''''窗體調入時隱藏InternetExplorer控制按鈕
EndSub
PrivateSubcmdView_Click()
DimtxtAddressAsString
OnErrorResumeNext''''設置錯誤陷阱
SetieView=GetObject("","InternetExplorer.Application")
ieView.Visible=True
''''創建InternetExplorer對象的一個實例,并設為可見
txtAddress=Trim(Text1.Text)
ieView.NavigatetxtAddress,navNoReadFromCache
''''按text1控件的內容進行瀏覽
cmdView.Enabled=False
cmdExit.Enabled=False
cmdForward.Visible=True
cmdBackward.Visible=True
cmdCloseView.Visible=True
''''使瀏覽、退出命令鈕無效,使IE控制命令鈕可見
EndSub
PrivateSubcmdForward_Click()
OnErrorResumeNext''''設置錯誤陷阱
ieView.GoForward
EndSub
PrivateSubcmdBackward_Click()
OnErrorResumeNext''''設置錯誤陷阱
ieView.GoBack
EndSub
PrivateSubcmdCloseView_Click()
OnErrorResumeNext''''設置錯誤陷阱
ieView.Quit
EndSub
PrivateSubieView_OnQuit()
SetieView=Nothing
''''消除ieView對象
cmdForward.Visible=False
cmdBackward.Visible=False
cmdCloseView.Visible=False
cmdView.Enabled=True
cmdExit.Enabled=True
''''恢復初始按鈕狀態
EndSub
PrivateSubcmdExit_Click()
End
EndSub
程序啟動后"向前"、"向后"、"關閉瀏覽窗口"等命令鈕不可見,在文本框內輸入相應的URL地址,單擊"瀏覽"按鈕即可調入InternetExplorer進行瀏覽,此時,"向前"、"向后"、"關閉瀏覽窗口"命令鈕轉為可見,從而實現對瀏覽器的控制,單擊"關閉瀏覽窗口"命令按鈕可關閉當前打開的InternetExplorer窗口,此時窗口又還原為初始模樣,可再次輸入新的地址進行瀏覽。
三、注意問題
1.必須在最上層通用模塊中定義InternetExplorer對象,并且將其定義為WithEvents類型以便響應由ActiveX組件觸發的事件;
2.瀏覽時需用下述語句創建InternetExplorer對象實例,并設為可見:
SetieView=GetObject("","InternetExplorer.Application")
ieView.Visible=True
退出時須消除該對象以釋放內存,即
SetieView=Nothing
否則會因大量占用系統資源導致系統不穩定。
3.調用和控制InternetExplorer過程中會產生各種錯誤,如在瀏覽器歷史記錄為空時,執行"向前"、"向后"操作就會產生OlE自動化錯誤,必須在"瀏覽"、"向前"、"向后"、"關閉瀏覽窗口"等命令按鈕相應程序模塊開始處加入錯誤捕獲語句:
OnErrorResumeNext
以檢測和處理類似錯誤,上述程序在Windows98、VB5.0環境下調試通過。
- 上一篇:計算機畢業論文:用VB學做“黑客”程序
- 下一篇:安全生產投入保障制度