Delphi Webbrowser
god00
这个作者很懒,什么都没留下…
展开
-
Delphi WebBrowser 响应回车Enter键(兼容Silverlight)
在Form放置一个ApplicationEvents控件, 在OnMessage事件中写下面的代码:uses ActiveXprocedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);const StdKeys = [VK_TAB, VK_RETURN, VK_DELETE, VK_BACK]; { standard keys } ExtKeys = [VK_LEFT, VK_RIGHT];转载 2011-02-11 18:03:00 · 669 阅读 · 0 评论 -
idhttp获取验证码范例
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, jpeg //转载 2011-06-03 08:19:00 · 710 阅读 · 0 评论 -
Delphi动态的修改WebBrowser加载页面的内容
<br />procedure DoChangePageCode(Doc: IDispatch);<br /> var<br /> tr: IHTMLTxtRange;<br /> s: string;<br /> begin<br /> tr := ((Doc as IHTMLDocument2).body as IHTMLBodyElement).createTextRange;<br /> s := tr.htmlText; // 取出页面的代码<br /> // 此处就能随意改了转载 2011-04-18 10:51:00 · 1444 阅读 · 0 评论 -
动态创建WebBrowser
procedure TForm1.CrtNew; begin Browser := TWebBrowser.Create(Self); TWinControl(Browser).Parent := Self; Browser.Left := 88; Browser.Top := 8; Browser.Width := ClientWidth - 96; Browser.Height := ClientHeight - 16; Browser.Navigate(FileName); end;关于TWebBro转载 2011-04-18 13:59:00 · 1677 阅读 · 0 评论 -
Delphi动态的修改WebBrowser加载页面的内容
核心提示:使用WebBrowser加载页面时,有些时候,为了特殊的目的,要修改加载后的页面为了实现这个目的,必须使用IHTMLTxtRange接口... procedure DoChangePageCode(Doc: IDispatch); var tr: IHTMLTxtRange; s: string; begin tr := ((Doc as IHTMLDocument2).转载 2011-06-23 22:17:00 · 1768 阅读 · 0 评论 -
Delphi中WebBrowser判断页面及JS是否加载完成
<br />//真的有效吗?作者是如何跟踪的呀???<br /> <br />时间很完了,但问题总算解决了。<br />在一个程序中需要判断WebBrowser打开的页面是否加载完成,通常的做完是使用Busy属性,代码如下:<br />while WebBrowser1.Busy do<br /> Application.ProcessMessages;<br />这个访问对于访问纯Html的页面时是一点儿问题都没有的,但有些页面在设计时为了不影响打开速度,是让html代码优先显示,然后再运行js代码转载 2011-04-29 15:45:00 · 1688 阅读 · 0 评论 -
如何获取HttpOnly Cookie
// 我这个博客转载这么多技术性文章,是为了以后学习要用,到时候遇到困难,不需要东找西拼。-__- ~真是不简单啊~。 1、更改webbrowser的cookie路径2、延时1秒,启动webbrowser3、更改webbrowser的cookie路径为原来的4、登录账号5、记录下cookie6、设置cookie, internetsetcookie7、测试是否成转载 2011-06-26 08:05:00 · 6010 阅读 · 0 评论 -
IPersistStreamInit这个接口好像不支持框架
Delphi: uses MSHTML,OleCtrls, SHDocVw, StdCtrls,ActiveX; function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean; var ps: IPersistStreamInit; s: string; ss: TStringStream; sa: IStream; begi转载 2011-06-24 15:46:00 · 553 阅读 · 0 评论 -
Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, Ac转载 2011-09-01 08:29:19 · 542 阅读 · 0 评论 -
WebBrowser 不打开新窗口
procedure TForm1.wb1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);begin ppDisp:=wb2.DefaultDispatch;end转载 2011-08-10 12:37:37 · 917 阅读 · 1 评论 -
禁止WebBrowser弹出网页对话框
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw;t转载 2011-08-28 14:04:39 · 969 阅读 · 0 评论 -
用WEBBROWSER怎么复制粘贴不能用了
在webbrowser中显示的网页,选中其中文字进行复制好像不起作用,不管是用鼠标右键还是直接CTRL-C,都没有复制到剪切板去,无法粘贴出来。在窗体的OnCreate事件中加入如下代码:OleInitialize(nil);在OnClose事件中加入代码:Ole转载 2011-08-30 08:03:55 · 2147 阅读 · 0 评论 -
webbrowser响应回车键 代码已经简化了,适合新手阅读
//首先在窗体中添加 ApplicationEvents 控件 D7的第二个选项卡 由左边开始第14个;procedure TForm1.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean);原创 2011-08-30 08:35:39 · 1869 阅读 · 0 评论 -
idhttp + TImage 获取网页验证码
源于网络:本人用的Delphi7,让我没有想到的是,它的TImage竟然不能显示GIF,但是我又要让它能显示,这个时候怎么办?去网上找了很久,终于找到了TGIFImage的源码pas文件,就是那个广为流传的2.2版本,之所以选择源码文件pas,而不用dcu文件,是因为害怕Delphi的版本问题。下面就开始它的应用。新建一个工程,菜单栏project-->Add to project--原创 2011-06-03 08:45:00 · 1141 阅读 · 0 评论 -
给定URL,如何找到它对应地缓存文件?
用IE浏览网页页面,浏览到地网页页面会缓存起来,假如下次访问同样地页面,速度就快 很多。 例如http://www.heiha.com/etnow/pic/011/28.jpg 会缓存为E:/WinNT/Profiles/zhangzh/Temporary Internet Files/28[1].jpg 俺地问题和疑问就为,假如俺知道URL,想找到它对应地缓存文件,该如何做? 据俺猜想,应该有API函数function,或者IE会提供相应地函数functio原创 2011-05-28 10:28:00 · 833 阅读 · 0 评论 -
模拟IE浏览器事件
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, MSHTML;type TForm1 = class(TForm) WebBrowser: TWebBrowser; Button: TButton; procedure FormCreate(Sender: T原创 2011-02-15 09:16:00 · 885 阅读 · 0 评论 -
TWebBrowser访问IFrame
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, MSHTML;type TForm1 = class(TForm) WebBrowser: TWebBrowser; Button: TButton; mmo1: TMemo; procedure Butt原创 2011-02-18 13:37:00 · 1489 阅读 · 0 评论 -
清空IE缓存-也就是清除掉IE临时文件夹
引用WinINet单元 procedureTForm1.DeleteIECache;//清理IE缓存 var lpEntryInfo:PInternetCacheEntryInfo; hCacheDir:LongWord; dwEntrySize:LongWord; cachefile:string; i:integer; cancheqqlist:TStringList; begin cancheqqlist:=TStringList.Create; cancheqqlist.C转载 2011-02-20 18:37:00 · 945 阅读 · 0 评论 -
让IE右键失效
<br />主要演示了TApplicationEvents.OnMessage 的第二个参数 Handled 如果是 True, 表示消息已经处理过了, 到此为止.<br />代码如下:<br />unit Unit1; <br />interface <br />uses <br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, <br /> Dialogs, AppEvnts, OleCtrls转载 2011-02-23 15:53:00 · 522 阅读 · 0 评论 -
WebBrowser 判断加载完成
<br />while webbrowser1.busy then<br /> Application.ProcessMessages; //busy为true时加载未完成;<br /><br />while webbrowser1.ReadyState <>READYSTATE_COMPLETE do<br /> Application.ProcessMessages; //加载完成readystate=READYSTATE_COMPLETE;否则未完成;<br /> <br />如果原创 2011-03-20 19:16:00 · 1538 阅读 · 0 评论 -
WebBrowser 判断加载完成
<br />while webbrowser1.busy then<br /> Application.ProcessMessages; //busy为true时加载未完成;<br /><br />while webbrowser1.ReadyState <>READYSTATE_COMPLETE do<br /> Application.ProcessMessages; //加载完成readystate=READYSTATE_COMPLETE;否则未完成;<br /> <br />如果原创 2011-03-20 19:13:00 · 701 阅读 · 0 评论 -
已知IE窗口的句柄,如何由此得到IHTMLdocument2接口?
使用GetIEFromHWND,然后:IEWnd.Document as IHTMLDocument2得到IHTMLDocument2接口 p.s. IE的类名是IEFrame,在IEFrame里面查找类名为“Shell DocObject View”的句柄,然后再在该句柄中继续查找“Internet Explorer_Server”才可以得到IE的那个浏览控件的句柄。然后才能使用GetIEFromHWND function GetIEFromHWND(hWnd:转载 2011-03-24 13:25:00 · 1537 阅读 · 0 评论 -
动态更改WebBrowser数据流内容 (动态修改网页源码)
<br />有时,由于软件的特殊需要,我们希望DELPHI在WebBrowser或embeddedwb里动态更改返回的数据内容,而这需要返回网页的所有原始源码,包括网页开始的DOCTYPE html PUBLIC声明部分,仅仅使用mshtml是无法实现的,需要用到数据流的方法。 <br /> <br /> 具体执行方法如下(需要 uses mshtml,activex): <br /> <br />procedure TForm1.Button1Click(Sender: TObject);<br /转载 2011-05-17 13:35:00 · 4623 阅读 · 0 评论 -
WebBrowser 操作记要
WebBrowser1.GoHome; //到浏览器默认主页WebBrowser1.Refresh; //刷新WebBrowser1.GoBack; //后退WebBrowser1.GoForward; //前进WebBrowser1.Navigate('...'); //打开指定页面WebBrowser1.Navigate('about:blank'); //打开空页面//打开空页面, 并写入...WebBrowser1.Navigate('about:<hea转载 2011-05-17 19:12:00 · 707 阅读 · 0 评论 -
WebBrowser中怎么获取滚动条位置
<br />网页可见区域宽:document.body.clientWidth; <br />网页可见区域高:document.body.clientHeight; <br />网页可见区域宽:document.body.offsetWidth; (包括边线的宽) <br />网页可见区域高:document.body.offsetHeight; (包括边线的宽) <br />网页正文全文宽:document.body.scrollWidth; <br />网页正文全文高:document.body原创 2011-05-25 09:17:00 · 2436 阅读 · 0 评论 -
IHTMLDOMNode 接口 获取同级元素
<br />原文:http://www.cnblogs.com/achengit/ 不错哦~`<br /> <br />dom节点树图中可见节点HTML文档中的每个成分都是一个节点:整个文档是一个文档节点 每个HTML标签是一个元素节点 包含在HTML元素中的文本是文本节点 每个HTML属性是一个属性节点 注释属于注释节点 <br />备注:通过DOM,可以访问HTML文档中的每个节点。二、节点引用节点的绝对引用:document.documentElement返回文档的根节点 document.activ转载 2011-05-26 14:47:00 · 1744 阅读 · 0 评论 -
WebBrowser 缓存技术
<br />WebBrowser 控件维护浏览会话期间访问的所有网页的历史记录列表。设置 Url 属性时,WebBrowser 控件导航到指定的 URL 并将该 URL 添加到历史记录列表的末尾。<br /><br />WebBrowser 控件在本地硬盘的缓存中存储最近访问过的站点的网页。每个页面都可以指定一个到期日期,指示页面在缓存中保留的时间。当控件导航到某页时,如果该页具有缓存的版本,则直接显示缓存中的内容而不重新下载该页,从而节省了时间。使用 Refresh 方法强制 WebBrowser 控件通转载 2011-05-28 09:07:00 · 1242 阅读 · 0 评论 -
定制 WebBrowser 控件
定制 WebBrowser 控件 //或者说 控件与接口的关联;因为工作需要,这几天在寻找定制WebBrowser控件的方法。原来已经研究过一阵子,原理大概知道, 基本就是实现IDocHostUIHandler和IDocHostShowUI两个接口,IE控件会在适当的时转载 2011-10-19 10:52:15 · 1265 阅读 · 1 评论