300分:Delphi 作的ActiveForm 如何获得调用者(IE)的句柄,并访问IE的页面内容? ( 积分: 300 )

H

hower

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己写的ActiveForm,如何读取当前页面的URL?
注意,不是通过Script 或直接设置属性等方式。

我举个例子,在网页中嵌入一个Flash,比如下面:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="movie&quot
value="flash.swf">
<param name=quality value=high>
<param name="wmode&quot
value="transparent">
</object>
参数movie提供的是一个相对路径,Falsh应该是读取了当前页面的绝对路径,然后算出SWF文件的绝对URL,下载并打开SWF文件。
我也要实现类似的功能,首先要能够取得当前页面的URL,进一步应该可以访问所有的页面元素。
 
我自己写的ActiveForm,如何读取当前页面的URL?
注意,不是通过Script 或直接设置属性等方式。

我举个例子,在网页中嵌入一个Flash,比如下面:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="movie&quot
value="flash.swf">
<param name=quality value=high>
<param name="wmode&quot
value="transparent">
</object>
参数movie提供的是一个相对路径,Falsh应该是读取了当前页面的绝对路径,然后算出SWF文件的绝对URL,下载并打开SWF文件。
我也要实现类似的功能,首先要能够取得当前页面的URL,进一步应该可以访问所有的页面元素。
 
用TWebBrowser不就可以檢測到了嘛~~~
 
我要写ActiveX,由IE调用,我要在自己的ActiveX控制调用自己的IE
 
我的意思是讓你自己寫一個瀏覽器, 然後來瀏覽你要下載的SWF網站, 就可以檢測到了.
如果你想寫ActiveX 類似的, 可以參考IEBand 的寫法, 然後在IE 上做個Plug-in按鈕, 按一下就可以下載頁面上SWF檔案.
 
你还是没有明白我的意思,呵呵,自己解决了。
procedure TAx2.Button1Click(Sender: TObject);
var
cs:IOLeClientSite;
sp:IServiceProvider;
ie:IWebbrowser2;
begin
cs := ActiveFormControl.ClientSite;
sp := cs as IServiceProvider;
sp.QueryService(IWebbrowserApp, IWebbrowser2, ie);
memo1.Lines.Add('URL'+ie.LocationURL);
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
708
import
I
顶部