[500分紧急求助]如何获取用IE或Navegator打开的网页的源文件?(200分)

  • 主题发起人 主题发起人 lanjian
  • 开始时间 开始时间
L

lanjian

Unregistered / Unconfirmed
GUEST, unregistred user!
老板让我做一个小程序用于获取用IE或Navegator打开的网页的源文件,并关闭指定
的网页窗口。由于我对监控一类的程序不熟。所以特请各路大虾指点迷津,写点源代码
指示一二。
谢谢!
(最好能获取用其他不同浏览器打开的网页的源文件)
Email:e_lanjian@cmmail.com
 
关注

问问左轻侯他们,好像我记得有人许诺要作个在IE右键菜单里添加菜单项保存网页的。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=387242
http://www.delphibbs.com/delphibbs/dispq.asp?lid=243778
 
你们理解错了我的问题.我问的是用一个程序去获取IE浏览器的源文件.
而不是自己写一个浏览器的程序,再获取其中的源文件.
请大虾们关注!
 
IE中VIEW中不是有查看源文件的选项吗?程序中然后再获取这个选项后内容就行了吧
 

我很想知道
 
要获取IE中的IHTMLDocument2的接口。
我也在想这问题,也想知道答案。

不过,有一种不是蛮有效的方法可以解决你的问题,
就是通过与IE进行DDE,取得其URL,再从URL取源码。
www.delphi3000.com 里有用DDE与IE通讯的例子,
不过,我没试过。
 
[blue][/blue][500分紧急求助]如何获取用IE或Navegator打开的网页的源文件? (提前)
 
var s:string;
nmHttp1.Get('http://www.your.com');
s:=nmhttp1.body;
s就是http://www.your.com的源码
 
[:)][:)]to yepp:
非常感谢您!我得请教您提到的nmHttp1是什么?
谢谢!
 
NMHttp就是FastNet控件组中的某一个控件名称
 
nmhttp1是Delphi中FastNet中一个标准控件,在面板上你应该可以找到的
 
[8D][8D]to yepp:
谢谢了,100分先送上!
但我想问一下,您的程序中有nmHttp1.Get('http://www.your.com'如何获取
'http://www.your.com'?我的意思是,如何写一个小程序及是监控IE,
一旦打开IE,我的程序就自动获取IE的URL?(请写点源码示例,谢谢!)
 
从IE获得URL
Function GetText(WindowHandle: hwnd):string;
var
txtLength : integer;
buffer: string;
begin
TxtLength := SendMessage(WindowHandle, WM_GETTEXTLENGTH, 0, 0);
txtlength := txtlength + 1;
setlength (buffer, txtlength);
sendmessage (WindowHandle,wm_gettext, txtlength, longint(@buffer[1]));
result := buffer;
end;

function GetURL:string;
var
ie,toolbar,combo,
comboboxex,edit,
worker,toolbarwindow:hwnd;
begin
ie := FindWindow(pchar('IEFrame'),nil);
worker := FindWindowEx(ie,0,'WorkerA',nil);
toolbar := FindWindowEx(worker,0,'rebarwindow32',nil);
comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil);
combo := FindWindowEx(comboboxex,0,'ComboBox',nil);
edit := FindWindowEx(combo,0,'Edit',nil);
toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil);

result := GetText(edit);
{-------------------------------------------------------}

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(GetURL);
end;
 
补充一下:
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Enabled:=false;
memo1.lines.Clear;
nmHttp1.Get(Geturl);
memo1.Lines.add(nmhttp1.Body);
button1.Enabled:=true;
end;
 
接受答案了.
 
后退
顶部