请教API sendmessage的问题当一个窗体中有两个Tedit 类 并且值都为:(比如说 两个caption都为"520")的时候为什么每次我在我想获取对方窗体中的两个EDIT的caption
却总是得到到第一个,程序如下:  想请教怎样我才能获取第二个窗体中的第二个tedit的caption呢?
var
tt:Array [0..255] OF Char;
cc:hwnd;
begin
cc:=findwindow(nil,'可爱多');
cc:=FindWindowEx(cc,0,'Tedit',nil);
SendMessage(TempH,WM_GETTEXT,100,Integer(@form1.tt));
showmessage(tt)
end;
过年了,新的一年请大家多多关照 谢谢帮助

解决方案 »

  1.   

    var
    tt:Array [0..255] OF Char;
    hMain,hChild:hwnd;
    begin
    hMain:=FindWindow(nil,'可爱多');
    hChild:=FindWindowEx(hMain,0,'TEdit',nil);
    hChild:=FindWindowEx(hMain,hChild,'TEdit',nil);
    SendMessage(TempH,WM_GETTEXT,100,Integer(@tt));
    Showmessage(tt)
    end;
      

  2.   

    先用hChild:=FindWindowEx(hMain,0,'TEdit',nil);然后循环用hChild:=FindWindowEx(hMain,hChild,'TEdit',nil);把所有类名为'TEdit'的遍历一下就可以了。
      

  3.   

    没错.var
    tt:Array [0..255] OF Char;
    hMain,hChild:hwnd;
    begin
    hMain:=FindWindow(nil,'可爱多');
    hChild:=FindWindowEx(hMain,0,'TEdit',nil);
    hChild:=FindWindowEx(hMain,hChild,'TEdit',nil);
    SendMessage(hChild,WM_GETTEXT,100,Integer(@tt));
    Showmessage(tt)
    end;
      

  4.   

    遍历所有TEditvar
    tt:Array [0..255] OF Char;
    hMain,hChild:hwnd;
    begin
    hMain:=FindWindow(nil,'可爱多');
    hChild:=FindWindowEx(hMain,0,'TEdit',nil);
    while hChild <> 0 do
    begin
    SendMessage(hChild,WM_GETTEXT,100,Integer(@tt));
    Showmessage(tt)
    hChild:=FindWindowEx(hMain,hChild,'TEdit',nil);
    end;end;
      

  5.   

    FindWindowEx的第二个参数设为上一个Tedit的问柄就OK。