读书人

如何得到IE浏览器的网址输入框的句柄

发布时间: 2013-01-23 10:44:49 作者: rapoo

怎么得到IE浏览器的网址输入框的句柄?
怎么得到IE浏览器的网址输入框的句柄?困扰我很久了 浏览器
[解决办法]
用spy++抓
原理很简单,枚举窗口
[解决办法]


function GetIE6UrlHwnd: THandle;
const
CtlNames: array[0..4] of string = (
'WorkerW',
'ReBarWindow32',
'ComboBoxEx32',
'ComboBox',
'Edit'
);
var
i: integer;
begin
Result := FindWindow('IEFrame', nil);
if Result = 0 then exit;

for i := 0 to Length(CtlNames) - 1 do
begin
Result := FindWindowEx(Result, 0, PChar(CtlNames[i]), nil);
if Result = 0 then
Break;
end;
end;

function GetIE7UrlHwnd: THandle;
const
CtlNames: array[0..5] of string = (
'WorkerW',
'ReBarWindow32',
'Address Band Root',
'ComboBoxEx32',
'ComboBox',
'Edit'
);
var
i: integer;
begin
Result := FindWindow('IEFrame', nil);
if Result = 0 then exit;

for i := 0 to Length(CtlNames) - 1 do
begin
Result := FindWindowEx(Result, 0, PChar(CtlNames[i]), nil);
if Result = 0 then
Break;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := IntToHex(GetIE7UrlHwnd, 8);
end;

读书人网 >.NET

热点推荐