如何得到IE地址栏信息及网页标题?(200分)

  • 主题发起人 主题发起人 wangqing321
  • 开始时间 开始时间
W

wangqing321

Unregistered / Unconfirmed
GUEST, unregistred user!
如何得到当前IE地址栏的信息及标题,最好有源码。谢谢
 
function EnumChildWindowsProc(hwnd: Integer; lparam: Longint): Boolean; stdcall;
var
buffer: array[0..255] of char;
begin
Result := True;
GetClassName(hwnd,buffer,256);
if StrPas(Buffer)='Edit' then
begin
SendMessage(hwnd,WM_GETTEXT,256,lparam);
Result:=False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
hwnd: Integer;
buffer: array[0..255] of char;
begin
hwnd := FindWindow('IEFrame',nil);
if hwnd<> 0 then
begin
EnumChildWindows(hwnd,@EnumChildWindowsProc,Integer(@buffer[0]));
memo1.Lines.Add(StrPas(buffer));
GetWindowText(hwnd,buffer,255);
memo1.Lines.Add(strpas(buffer));
end;
end;
 
获得IE地址栏内的当前URL
uses ddeman;
function GetCurURL:string;
var DDEClient: TDDEClientConv;
AddressStr: PChar;
s:string;
i:integer;
begin
DDEClient:= TDDEClientConv.Create(nil);
try
with DDEClient do
begin
SetLink('IExplore', 'WWW_GetWindowInfo');
AddressStr:= RequestData('0xFFFFFFFF');
s:= StrPas(AddressStr);
StrDispose(AddressStr);
CloseLink;
Result:=s;//包含URL和Title
end;
finally
DDEClient.Free;
end;
end;

 
如河得到IE状态栏的内容?我另外给分
 
没有做过,想了想,是不是可以这样:
一个timer,定时捕获IE地址栏的变化;
一个webBrowser,当IE地址栏变化时,与IE同步装入同一URL;
在webBrowser的OnStatusTextChange事件里写:
showmessage(Text);//Text就是你要的
 
状态:EmbeddedWB1StatusTextChange(sText<----就是它了)
标题:=Tembeddedwb(sender).OleObject.document.title;
 
heipi2003:能具体点吗?
 
后退
顶部