十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
部分代码如下:
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及广告设计等,在网站建设、网络营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
在窗口及WebBrowser创建完以后,写此代码:
WebBrowser.OnNewWindow2:=IE1NewWindow2;
给主窗口创建一个方法:
procedure TBrowForm.IE1NewWindow2(Sender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);
Var NewForm:TBrowForm;
begin
try
NewForm :=TPopBrowerForm.Create(application);
NewForm.WebBrowser.OnNewWindow2 :=IE1NewWindow2;//如果在窗口的Oncreate事件
//有此代码,此处就可以省略
ppDisp := NewForm.WebBrowser.Application;
NewForm.Show;
Cancel:=false;
except
end;
end;
首先,必须有COM的基础知识,因为IE本身就是COM技术的典型应用。我们看到最上层是WebBrowser的宿主(Host),也就是任何你想重用 (ReUse)webbrowser control的应用程序,可以是vb程序,也可以是vc或者任何其他语言的应用程序。应用程序必须是可容纳activex控件的容器。
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
你说的操作是像人一样用鼠标点击网页?
直接应该是不行的,可以考虑先抓包分析数据包,在模拟浏览器发送请求获取数据,然后进行相应处理
如下两种方法,
1,
采用默认的浏览器打开FTP站点,不需要知道IE在什么地方,建议采用。
Shell("rundll32
url.dll
FileProtocolHandler
")
2,采用IE打开,只要更改为你的ie路径就可以了。不建议使用这个方法。
Shell("C:\Program
Files\Internet
Explorer\iexplore.exe
")
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