请教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.   

    它们的ID肯定是唯一的,你可以通过Spy++这样的工具取得目标Edit的ID,然后调用GetDlgItem就可以获得它的句柄了。
      

  3.   

    楼上的老大,VCL窗体不是用标准的对话框资源保存的.ID是唯一的但不是固定的啊
      

  4.   

    EnumChildWindows,专为这个情况设计。