
Internet开发
TechnoFantasy
喜静不喜动的一个人。
随遇而安,尽力而为。安心的做一个程序员。
新开微勃啦:http://t.sina.com.cn/1406988594
展开
-
利用Delphi编写IE扩展
就是如何使IE扩展组件可以响应事件。 在自己的程序中使用过WebBrowser控件的朋友都知道,WebBrowser控件定义了诸如BeforeNavigate、DownloadComplete 等事件,我们可以通过编写事件处理代码实现对WebBrowser控件的操作。那么如何实现对IE的事件响应和处理呢?同建立IE面板一样。我们需要建立一个实现IObjectWithSite接口的COM组件,原创 2001-04-16 01:13:00 · 2332 阅读 · 0 评论 -
生成MHT的开发手记(6月27日)
今天的重点在如何将页面中的img提取出来然后生成base64编码的字符串。昨天写的URLLocalFileName函数可以根据一个URL获得其本地的文件名,今天写了一个base64EncodeResource函数可以将url指向的资源编码到base64的函数。这个函数需要判断url指向的资源在本地有没有缓存,如果有的话就打开并获取文件内容然后编码。如果没有的话就创建一个TIdHTTP对象,下载这个原创 2005-06-27 18:23:00 · 2412 阅读 · 0 评论 -
CSDN问答:如何使用代码清除IE的自动完成表单
http://community.csdn.net/Expert/topic/4057/4057856.xml?temp=.2689783我现在只找到开/关自动完成的方法,就是将:HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/AutoComplete下面的AutoSuggest的值修改为Yes或者No这里有原创 2005-06-28 10:23:00 · 4561 阅读 · 0 评论 -
CSDN问答:webbrowser所显示的网页怎么无法响应回车键
默认的情况下Delphi的TwebBrowser控件是不支持Enter的,这使一些多行文本框变得无法录入,解决的办法如下:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, OleCtrls, SHDocVw_TLB, ActiveX,原创 2005-06-29 13:01:00 · 2678 阅读 · 0 评论 -
IWebbrowser2 支持的接口和服务
InterfacesServicesIConnectionPointContainerIDispatchIExternalConnectionIHlinkFrameIOleCommandTargetIServiceProviderITargetFrameITargetFrame2ITargetNotifyIUnknownIUrlHistoryNotifyIWebBrowserIWebBrowser原创 2005-06-29 18:38:00 · 2197 阅读 · 0 评论 -
Delphi POPUP blocker
unit Unit1;{$WARN SYMBOL_PLATFORM OFF}interfaceuses Windows, ActiveX, Classes, ComObj, shdocvw, mshtml;type TpopBlocker = class(TComObject, IDispatch, IObjectWithSite) protected function GetType原创 2005-07-13 19:57:00 · 2101 阅读 · 0 评论 -
IEHelper开发手记(8月7日)
2005年8月7日凌晨晚上想到实现横向滚动是否可以通过右键+滚轮来实现,首先是想通过onscroll事件的监控,但是怎么都没法监控到onscroll事件,后来发现需要链接到HTMLWindowEvents2事件中,监控HTMLWindowEvents2中的onscroll事件,没办法,在DoDocumentComplete中加入了链接到HTMLWindowEvents2中的代码。但是这样有一个问题原创 2005-08-07 01:32:00 · 2655 阅读 · 0 评论 -
自定义浏览器中使新弹出链接在自己的窗口而不是默认浏览器中打开
假设放置Webbrowser组件的是Form1,那么在这个webbrowser的NewWindow2事件中加入以下代码: Dim frmWB As Form1 Set frmWB = New Form1 frmWB.WebBrowser1.RegisterAsBrowser = TRUE Set ppDisp = frmWB.WebBrowser1.Object frmWB.V原创 2005-08-04 09:22:00 · 3347 阅读 · 0 评论 -
实现IE脱机工作和联机工作的切换
function SetOffline:Boolean; //设定浏览器为离线状态var ConInfo:INTERNET_CONNECTED_INFO;begin ConInfo.dwConnectedState := INTERNET_STATE_DISCONNECTED_BY_USER; ConInfo.dwFlags := ISO_FORCE_DISCONNECTED; In原创 2005-04-09 16:45:00 · 2118 阅读 · 0 评论 -
转载,一个可以解析HTML中链接和图片URL的代码
function ExtractHtmlTagValues(const HtmlText: string; TagName, AttribName: string; var Values: TStrings): integer; function FindFirstCharAfterSpace(const Line: string; StartPos: integer): Integer; var原创 2005-06-14 19:29:00 · 1914 阅读 · 0 评论 -
如何在BHO中将自己的IDocHostUIHandler实现连接到IE上
首先需要再BHO中维护一个IWebbrowser2接口,然后通过这个接口获得一个IHTMLDocument2接口,然后通过择个接口获得ICustomDoc 借口,然后通过ICustomDoc 接口的SetUIHandle方法将自己的IDocHostUIHandler实现连接到IE上面:HRESULT CFindHook::ChangeUIHandler() { CComPtr spDo原创 2005-06-12 12:21:00 · 2506 阅读 · 0 评论 -
CSDN问答:怎样程序控制IE窗口的左侧搜索栏是否打开
procedure TForm1.Button1Click(Sender: TObject);var xWin:TShellWindows; i : integer; x1,x2,x3 : olevariant;begin x1 := {30D02401-6A81-11D0-8274-00C04FD5AE38}; x2 := True; x3 := 0; xWin := TShe原创 2005-06-28 11:22:00 · 1964 阅读 · 0 评论 -
CSDN问答:用WEBBROWSER怎么复制粘贴不能用了
在webbrowser中显示的网页,选中其中文字进行复制好像不起作用,不管是用鼠标右键还是直接CTRL-C,都没有复制到剪切板去,无法粘贴出来。在窗体的OnCreate事件中加入如下代码:OleInitialize(nil);在OnClose事件中加入代码:OleUninitialize;procedure TForm1.FormCreate(Sender: TObject);begin Ole原创 2005-06-28 10:27:00 · 3074 阅读 · 0 评论 -
监控网页中元素的事件
对编写脚本熟悉的读者都知道页面中可以添加脚本响应元素的事件,例如超链接的OnClick事件,图片的OnMouseMove事件,我们也可以使VB程序响应这些事件。下面是一个VB响应页面中按钮的Click事件的代码: 首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码: Option Explicit Public Sub Some_Procedure(原创 2003-08-29 07:43:00 · 2882 阅读 · 1 评论 -
保存webbrowser中的HTML内容
保存webbrowser中的HTML内容 利用IPersist接口可以实现保存HTML到文件,在VB和Delphi下的实现是这样的:VB: Dim oPF As IPersistFile Set oPF = WebBrowser1.Document oPF.Save "TheFileNameHere.htm", False Delphi: uses MSHTML,OleCtrls, SHDoc原创 2004-04-12 12:26:00 · 5591 阅读 · 4 评论 -
通过API访问IE Cache
通过API访问IE Cache 我们知道在使用IE浏览网页时,IE会把远端主机的内容保存在本机以供以后脱机访问。下面将介绍的是如何通过Delphi编程实现遍历Cache中所有保存的内容。 如果大家对Windows API编程比较熟悉的话,应该知道对于遍历访问一般有两种办法,一是定义一个回调函数,然后将回调函数地址传递给遍历函数,当遍历到一个内容时就会调用回调函数一次,例如EnumWin原创 2002-03-29 09:01:00 · 4467 阅读 · 1 评论 -
VB调用webbrowser技巧集4
1、如何使网页不出现滚动条:Private Sub mnuScroll1_Click()注意:必须在网页完全显示之后才可以运行 WebBrowser1.Document.body.Scroll = "no" 不显示滚动条的办法End SubPrivate Sub mnuScroll2_Click()注意:必须在网页完全显示之后才可以运行 WebBrowser1.Document.原创 2004-07-31 04:48:00 · 10855 阅读 · 2 评论 -
VB调用webbrowser技巧集2
向Webbrowser中写入HTML内容的几种方法首先在Form_Load中加入WebBrowser1.Navigate "about:blank"确保Webbrowser1可用 方法1: Dim s As String Dim stream As IStream s = "" s = s + "" s = s + "" s = s + " hel原创 2004-07-29 15:33:00 · 9250 阅读 · 4 评论 -
VB填充IE上的输入框并提交
VB填充IE上的输入框并提交 假设登录页面的HTML代码如下: testPage 用户: 密码: 很简单的页面,在上面有一个登录的Form,一个用户名输入框LoginName,一个密码输入框LoginPassword和一个提交按钮clickme 然后用I原创 2004-07-26 15:04:00 · 3375 阅读 · 2 评论 -
VB调用webbrowser技巧集1
1、获得浏览器信息:Private Sub Command1_Click() WebBrowser1.Navigate "http://www.applevb.com"End SubPrivate Sub Command2_Click() Dim oWindow Dim oNav Set oWindow = WebBrowser1.Document.parentWi原创 2004-07-29 15:29:00 · 6679 阅读 · 0 评论 -
vb调用Webbrowser技巧集3
1、页面滚动:Private Sub Command2_Click() WebBrowser1.Document.parentwindow.scrollby 0, 30End SubPrivate Sub Form_Load() WebBrowser1.Navigate "http://www.applevb.com"End Sub 点击Command2就可以使当前页面向下滚动30像原创 2004-07-29 23:49:00 · 5900 阅读 · 0 评论 -
保存页面为MHT的代码
Heres how to save a web page as a single file (mht format) using Delphi code: uses CDO_TLB, ADODB_TLB;...procedure WB_SaveAs_MHT(WB: TWebBrowser; FileName: TFileName);var Msg: IMes原创 2005-01-21 14:10:00 · 2247 阅读 · 0 评论 -
关于在Delphi中应用IinternetProtocolRoot
关于在VC下面的彻底过滤IE的解决文章:http://blog.csdn.net/111222/archive/2002/02/09/7255.aspx对于Delphi的实现,有一个pas单元:unit IeConst;interfaceuses ShlObj, Activex, Windows; constIID_IDocHostUIHandler: TGUID = {bd3f23c0-d43原创 2005-01-21 15:14:00 · 2607 阅读 · 0 评论 -
CSDN文答:怎样使TWebbrowser中的复制粘贴生效
在窗体的OnCreate事件中加入如下代码:OleInitialize(nil);在OnClose事件中加入代码:OleUninitialize;procedure TForm1.FormCreate(Sender: TObject);begin OleInitialize(nil);end;procedure TForm1.FormClose(Sender: TObject; var Acti原创 2005-06-14 19:26:00 · 1572 阅读 · 0 评论