首先,必须有COM的基础知识,因为IE本身就是COM技术的典型应用。我们看到最上层是WebBrowser的宿主(Host),也就是任何你想重用 (ReUse)webbrowser control的应用程序,可以是vb程序,也可以是vc或者任何其他语言的应用程序。应用程序必须是可容纳activex控件的容器。
创新互联公司是一家专注于网站建设、网站设计与策划设计,大荔网站建设哪家好?创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:大荔等地区。大荔做网站价格咨询:18982081108
Webbrowser control既是activex control也是activex document 的宿主。作为控件,它可以置于任何activex容器,作为文档容器,它针对特殊的类型,调用特殊类型注册的文档server以显示文档。如果你想显示一 个.doc文档,webbrowser control装载windows word,,对于html文档,webbrowser装载名为mshtml的组件(如图所示)。针对不同的文档,你不需要开发不同的应用,仅仅是调用 webbrowser control即可。
Shdocvw
Shdocvw.dll包含了webbrowser control ,控制webbrowser control (就像控制其他任何activex com 控件一样),提供浏览能力给上层宿主。请注意webbrowser control位于第二级中。甚至IE也不直接而是通过shdocw.dll来使用webbrowser control的。尽管shdocvw提供了大部分的浏览功能,但是并不提供IE窗口的呈现功能。尽管如此,shdocvw还是提供了简单创建web 应用程序的能力。之后章节会讲到如何将ie的高级特性加入到你的应用程序。
MSHTML
早期的mshtml具有读取显示html的功能。MSHTML实际上是一个active 文档服务器,但是却可以作为其他控件的容器(如图中所示的)。记得吗,你可以将activex控件置于html中,此时mshtml就是一个 activex宿主,还可以控制其他的控件如vbscript 脚本引擎和javas
用VB打开网页有多种方法:
方法1)可用Shell函数执行一个可执行文件explorer.exe来打开网页。
Shell 函数,
执行一个可执行文件,返回一个 Variant
(Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。
Private Sub Command2_Click()
Shell "explorer.exe "
End Sub
方法2)使用WebBrowser直接建立浏览器。
在 Visual Basic 里还可以向工程中增加其它类型的 Internet 功能,包括:
Visual Basic 应用程序的 Internet 扩展。可以使用一些特殊控件,它们提供了和Internet 有关的功能。这些控件包括
Internet Transfer 控件、 WebBrowser 控件,以及 WinSock 控件。
Private Sub Command1_Click()
WebBrowser1.Navigate ""
End Sub
VB.NET调用IE代码示例:
Dim p As New Process
'获得URL
aURL = GetURL()
'获得IE路径
p.StartInfo.FileName =
System.Environment.
GetFolderPath( _
Environment.SpecialFolder.
ProgramFiles).Trim() _
"\Internet Explorer\
IEXPLORE.EXE"
p.StartInfo.Arguments
= aDenURL
'启动IE
'p.Start(aDenURL)
p.Start()
'主程序开始等待IE结束
p.WaitForExit()
另一种VB.NET调用IE的方法
Imports System.Threading
Private Sub Button1_Click(ByVal
sender As System.Object, ByVal e
As System.EventArgs) Handles
Button1.Click
Dim webobj As Object
webobj = CreateObject("Internet
Explorer.Application")
With webobj
.visible = True
.Navigate2(";)
Do While (.busy Or .readyState 4)
Thread.Sleep(100)
Loop
.Document.f.q.Value = Me.TextBox1.Text
.Document.f.btng.Click()
End With
MsgBox("completed.")
End Sub
如下两种方法,
1,
采用默认的浏览器打开FTP站点,不需要知道IE在什么地方,建议采用。
Shell("rundll32
url.dll
FileProtocolHandler
")
2,采用IE打开,只要更改为你的ie路径就可以了。不建议使用这个方法。
Shell("C:\Program
Files\Internet
Explorer\iexplore.exe
")