精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Delphi 网络编程>>浏览器>>Re:如何得到地址栏中的字符串?

主题:Re:如何得到地址栏中的字符串?
发信人: kingron(金龍)
整理人: teleme(2001-03-16 23:22:07), 站内信件
需要回调函数和一个枚举窗口的函数:
说明:本例子参考了网络上的其他网友的代码,在此表示感谢。

//回调函数
Function GetURL(H:hwnd;lparam:longint):boolean;stdcall;
var str,url:array [0..254] of char;
  begin
    getclassname(h,@str,255);
    if strpas(@str)='ComboBoxEx32' then 
      begin
      SendMessage(h,WM_GETTEXT,255,LongInt(@url));
      form1.ListBox1.Items.Add(strpas(@url)); //URL就是那个字符串了。
      end;
      result:=true;
  end;

function callbackproc(H:HWnd;lparam:longint):Boolean;stdcall;
var str:array [1..255] of char;
  begin
  getclassname(h,@str,255);
  if ((strpas(@str)='CabinetWClass') or (strpas(@str)='IEFrame')) then
      begin
        Enumchildwindows(h,@GetURL,0);
      end;
      result:=true;
  end;

procedure TForm1.findbuttonClick(Sender: TObject);
begin
    listbox1.Clear;
    Enumwindows(@callbackproc,0);
end;



----
██████
█┏━━┓█
█┃之金┃█   广州社区Delphi版直达快车
█┃印龍┃█        技术问题请勿寄到信箱,我会忽略此类信件
█┗━━┛█
██████
       

[关闭][返回]