如何定位给定主窗体标题的窗口里的子控件?急急急急急!!!!!
各位大虾:
我想从给定标题的窗口里,定位给定标题的一个标签按钮。如何实现,我的参考程序代码如下。针对我的程序代码,本人有点迷茫,请各位大虾指点迷途:
procedure TForm1.Button2Click(Sender: TObject);
var
win_cap, //待查找的主窗体标题
btn_cap: string; //待查找的标签标题
hd, //待查找的主窗体句柄
hdl: hwnd; //遍历主窗体各子控件句柄
ctl_text: array[0..254] of char; //各子控件标题
begin
win_cap := 'flash 作品欣赏 - Microsoft Internet Explorer';
btn_cap := '投我一票';
//获取主窗体句柄
hd := FindWindow(nil,pchar(win_cap));
//获取成功则提取主窗体第一子控件窗口句柄
if hd >0 then
hdl := getWindow(hd,GW_CHILD+GW_HWNDFIRST);
//遍历主窗体各子控件
while hdl > 0 do
begin
//获取子控件标题
if GetWindowText(hdl, @ctl_text, 255)>0 then
begin
//与待定位按钮标题比较,一致则查找成功
if pos(btn_cap,StrPas(@ctl_text))>0 then
showmessage('哈哈,就是你...');
end;
hdl := getwindow(hdl,GW_HWNDNEXT);
end;
showMessage('结束了...');
end;
1、为何GetWindowText总是返回一个空字符串,无任何信息
2、如何正确定位到该控件,如果有懂的,一定要将程序代码调试无误,本人对分绝不吝啬!
谢谢大家!~