首页编程delphi webbrowser(delphi webbrowser版本怎么修改)

delphi webbrowser(delphi webbrowser版本怎么修改)

编程之家2023-11-0670次浏览

本篇文章给大家谈谈delphi webbrowser,以及delphi webbrowser版本怎么修改对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

delphi webbrowser(delphi webbrowser版本怎么修改)

delphi 怎么判断webbrowser打开网页成功

在同一个WebBrowser里显示,可以这样:

再放一个小的WebBrowser2,设置它在WebBrowser1下面(设置Visible为False好象无效),

//在WebBrowser1的OnNewWindow2事件中:

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;

var ppDisp: IDispatch; var Cancel: WordBool);

begin

delphi webbrowser(delphi webbrowser版本怎么修改)

ppDisp:= WebBrowser2.Application;//新的窗口先指向WebBrowser2

end;

//在WebBrowser2的OnBeforeNavigate2事件中:

procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;

const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,

Headers: OleVariant; var Cancel: WordBool);

delphi webbrowser(delphi webbrowser版本怎么修改)

begin

WebBrowser1.Navigate(string(URL));//再指回WebBrowser1

Cancel:= True;

end;

可以这样,窗体中放置两个PANEL,其中PANEL1中放WebBrowser1,PANEL2中放WebBrowser2,PANEL1和PANEL2、WebBrowser1和WebBrowser2的LEFT,TOP等所有属性设为一样。PANEL2的VISIBLE设为FALSE。然后添加代码如下即可:

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;

var ppDisp: IDispatch; var Cancel: WordBool);

begin

ppDisp:=WebBrowser2.Application;

panel1.Visible:=false;

panel2.Visible:=true;

end;

procedure TForm1.WebBrowser2NewWindow2(Sender: TObject;

var ppDisp: IDispatch; var Cancel: WordBool);

begin

ppDisp:=WebBrowser1.Application;

panel2.Visible:=false;

panel1.Visible:=true

我只回答第一个问题,看你给多少分:

1 NewWindow2的在接口中定义的原形:

procedure NewWindow2(Sender: TObject; var ppDisp: IDispatch;

var Cancel: WordBool);

2通过传递一个WebBrowser的控制借口给ppDisp可以让新网页在指定的Wb中浏览

ppDisp:=WebBrowser1.Browser.ControlInterface;

3在刚才传递的WebBrowser的OnBeforeNavigate2事件中就可以获得将要打开的

URL了!

function SaveToStream(AStream: TStream): HRESULT;

var

IpStream: IPersistStreamInit;

begin

with browser1 do

begin

while ReadyState<> READYSTATE_COMPLETE do

Forms.Application.ProcessMessages;

if Assigned(Document) then

begin

IpStream:= Document as IPersistStreamInit;

Result:= IpStream.save(TStreamAdapter.Create(AStream), TRUE);

end else Result:= S_FALSE;

end;

end;

function Loadfromstream(AStream:TStream):hresult;

begin

with browser1 do

begin

if not Assigned(Document) then

begin

navigate2('about:blank',0,0,0,0);

while readystate<> READYSTATE_COMPLETE do Forms.Application.ProcessMessages;

end;

AStream.seek(0, 0);

Result:=(Document as IPersistStreamInit).Load(TStreamadapter.Create(AStream));

end;

end;

delphi webbrowser版本怎么修改

WebBrowser控件默认使用的版本是 IE7兼容模式,无论本机当前 windows系统安装的是 IE9或是 IE10,都会使用 IE 7版本。

如果想要使 WebBrowser使用其它版本,可以通过设置注册表中的相关条目来完成:

HKEY_LOCAL_MACHINE(orHKEY_CURRENT_USER)

SOFTWARE

Microsoft

InternetExplorer

Main

FeatureControl

FEATURE_BROWSER_EMULATION

编译生成的文件.exe=(DWORD)指定的版本号

如果是 64位系统,注册表条目如下:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

其中指定的版本号为:

11001(0x2EDF)InternetExplorer11.

11000(0x2AF8):InternetExplorer11.

10000(0x2710):InternetExplorer10.

10001(0x2AF7):InternetExplorer10.

9999(0x270F):InternetExplorer9.

9000(0x2328):InternetExplorer9.

8888(0x22B8):WebpagesaredisplayedinIE8Standardsmode

实例截图:

delphi 和webbrowser交互问题

您是不是想写一个模拟网页输入及提交的程序呢,DELPHI这方面的例子网上有很多,下来研究一下,都是这么过来的。再说一下您遇到的问题吧,刷新相当于重新获取网页,自然会将本地数据覆盖掉。想写工具就得了解网页运行的原理、机制。我看您这又VB,VC,DELPHI,VS,MATLAB,PS,fortran,flash等的,比我会的都多,学得够杂的。

文章分享结束,delphi webbrowser和delphi webbrowser版本怎么修改的答案你都知道了吗?欢迎再次光临本站哦!

空间登录首页,如何登陆qq空间流量攻击怎么防御?流量攻击怎么防御怎么防止流量攻击