利用VB實現對IE的呼叫與控制 (轉)
利用VB實現對IE的與控制
隨著應用的不斷擴充套件,採用HTML語言編寫的文件越來越多,如何在VB中實現對HTML文件的瀏覽是一個需要解決的問題。本文以一個例項說明了在VB中呼叫和控制Inte Explorer的方法。
一、 準備
VB透過OLE自動化技術建立和控制Internet Explorer的例項,因此,在新建一個工程後需要加入 Internet 控制的參考,方法是開啟 的Project下拉選單中的Reference…選項,單擊Browse…按鈕,在的system目錄下找到SHDOCVW.DLL並選中它,它是Internet Explorer的類庫。
二、 實現方法
在窗體form1中新增表1所示的。 控制元件型別控制元件名稱控制元件內容 Label Lable1 地址: Text Text1 (空) Command cmdView 瀏覽 Command cmdForward 向前 Command cmackward 向後 Command cmdCloseView 關閉瀏覽視窗 Command cmdExit 退出
對上述窗體新增如下程式碼即可實現對Internet Explorer的呼叫與控制,
Dim WithEvents ieView As InternetExplorer
'在通用模組中定義Internet Explorer物件
Private Sub Form_Load()
cmdForward.Visible = False
cmdBackward.Visible = False
cmdCloseView.Visible = False
'窗體調入時隱藏Internet Explorer控制按鈕
End Sub
Private Sub cmdView_Click()
Dim txtAddress As String
On Error Resume Next '設定錯誤陷阱
Set ieView = Get("", "InternetExplorer.Application")
ieView.Visible = True
'建立Internet Explorer物件的一個例項,並設為可見
txtAddress = Trim(Text1.Text)
ieView.Navigate txtAddress, navNoReadFromCache
'按text1控制元件的內容進行瀏覽
cmdView.Enabled = False
cmdExit.Enabled = False
cmdForward.Visible = True
cmdBackward.Visible = True
cmdCloseView.Visible = True
'使瀏覽、退出命令鈕無效,使IE控制命令鈕可見
End Sub
Private Sub cmdForward_Click()
On Error Resume Next '設定錯誤陷阱
ieView.GoForward
End Sub
Private Sub cmdBackward_Click()
On Error Resume Next '設定錯誤陷阱
ieView.GoBack
End Sub
Private Sub cmdCloseView_Click()
On Error Resume Next '設定錯誤陷阱
ieView.Quit
End Sub
Private Sub ieView_OnQuit()
Set ieView = Nothing
'消除ieView物件
cmdForward.Visible = False
cmdBackward.Visible = False
cmdCloseView.Visible = False
cmdView.Enabled = True
cmdExit.Enabled = True
'恢復初始按鈕狀態
End Sub
Private Sub cmdExit_Click()
End
End Sub
程式啟動後"向前"、"向後"、"關閉瀏覽視窗"等命令鈕不可見,在文字框內輸入相應的URL地址,單擊"瀏覽"按鈕即可調入Internet Explorer進行瀏覽,此時,"向前"、"向後"、"關閉瀏覽視窗"命令鈕轉為可見,從而實現對的控制,單擊"關閉瀏覽視窗"命令按鈕可關閉當前開啟的Internet Explorer視窗,此時視窗又還原為初始模樣,可再次輸入新的地址進行瀏覽。
三、 注意問題
1. 必須在最上層通用模組中定義Internet Explorer物件,並且將其定義為WithEvents型別以便響應由Active X觸發的事件;
2. 瀏覽時需用下述語句建立Internet Explorer物件例項,並設為可見:
Set ieView = GetObject("", "InternetExplorer.Application")
ieView.Visible = True
退出時須消除該物件以釋放,即
Set ieView = Nothing
否則會因大量佔用資源導致系統不穩定。
3. 呼叫和控制Internet Explorer過程中會產生各種錯誤,如在瀏覽器歷史記錄為空時,"向前"、"向後"操作就會產生OlE自動化錯誤,必須在"瀏覽"、"向前"、"向後"、"關閉瀏覽視窗"等命令按鈕相應程式模組開始處加入錯誤捕獲語句:
On Error Resume Next
以檢測和處理類似錯誤,上述程式在Windows98、5.0環境下透過。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990079/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用VB 指令碼實現TIA 中介面迴圈計數的功能指令碼
- C#/VB.NET 實現Word和ODT文件相互轉換C#
- 利用swagger和API Version實現api版本控制SwaggerAPI
- 使用併發工具實現 RPC 呼叫流量控制RPC
- 利用wps的com口用python實現excel轉pdfPythonExcel
- 在補丁上戳個洞——利用已經被修復的漏洞實現IE沙箱逃逸
- VB.net chart 控制元件使用控制元件
- AreaHttpControllerSelector 對 Web Api 實現 Area 路由控制HTTPControllerWebAPI路由
- 求助:EXCEL,VB,實現 CRC16 校驗Excel
- 對專案版本自動控制——利用gitversionGit
- PostgreSQL中利用驅動程式實現故障轉移SQL
- jenkins:實現Jenkinsfile與Json的轉換JenkinsJSON
- 利用nginx的stream模組實現內網埠的轉發代理Nginx內網
- 利用iptables實現埠對映(支援動態域名)
- Javascript 實現 Textarea 自動伸縮,相容IE6、IE7、IE8、IE9...JavaScriptIE9
- 漏洞利用與卡巴斯基的對抗之路
- Eureka實現微服務的呼叫微服務
- 利用魯棒控制實現深度強化學習駕駛策略的遷移強化學習
- 【Spring Cloud】Eureka實現微服務釋出與呼叫SpringCloud微服務
- 使用LangChain4J實現Agent與Tool呼叫LangChain
- 在Java中利用動態代理實現資料庫連線與事務的自動管理【轉】Java資料庫
- VirtualView Android實現詳解(二)—— 虛擬控制元件的設計與實現ViewAndroid控制元件
- php實現依賴注入(DI)和控制反轉(IOC)PHP依賴注入
- Vue2-利用自定義指令實現按鈕許可權控制Vue
- 利用Docker容器實現代理轉發和資料備份Docker
- CSS實現文字豎排顯示(相容IE6/IE7)CSS
- 實現呼叫API介面API
- 鴻蒙NEXT元服務:利用App Linking實現無縫跳轉與二維碼拉起鴻蒙APP
- Eureka-實現微服務的呼叫微服務
- netty 實現簡單的rpc呼叫NettyRPC
- 介面呼叫超時的實現原理
- 呼叫鏈系列(2):輕呼叫鏈實現
- Collection如何轉成stream以及Spliterator對其操作的實現
- vb.net使用GDI+實現掃雷小遊戲遊戲
- 針對IE及其它的css hackCSS
- Java利用Redis實現非同步邏輯多使用者併發控制JavaRedis非同步
- 開發者分享:利用 EMQX Cloud 與 ESP32 微控制器實現智慧液冷散熱系統MQCloud
- iOS:利用訊息轉發機制實現多播委託iOS
- <Redis設計與實現>筆記【轉】Redis筆記