------------------------------------------------------------
fwnd:=FindWindow('TForm',nil);            找到了exe1中的一个窗体
wnd2:=findwindowex(fwnd,0,'TPanel',nil) ; 找了了窗体上的Panel
wnd2:=findwindowex(wnd2,0,'TEdit',nil) ;  找到了Panel上的一个EDIT
其它的呢???----------------------------------------------------------
现在的问题是Panel上有多个EDIT(EDIT1,EDIT2,EDIT3......)
请问如何找到他们并分别给他们赋值.

解决方案 »

  1.   

    h:= windows.GetNextWindow(h,GW_HWNDNEXT);
      GetClassName(h,buf,256);
      if String(buf) = 'TEdit' then
      begin
        sendmessage(h,WM_GETTEXT,256,LPARAM(@buf));
        showmessage(buf);
      end;
      

  2.   

    buf: array[0..256] of char;
      

  3.   

    var h:HWND;
        t:TWinControl;
    begin
      h:=?
      t:=FindControl(h);
      if t.Name='Edit1' then
      begin
           TEdit(t).text:='thist Edit1';
      end;
    end;
      

  4.   

    t.Name就是名称啊,你想怎么做啊
      

  5.   

    t.Name有错啊!
    假如exe1中有edit1,edit2,edit3,edit4,edit5但是我们现在不知道他们的具体名称是什么,啊!
    我现在就是要分别去这5个edit的名称啊!
      

  6.   

    怎么会不行呢?
    procedure TForm1.Button1Click(Sender: TObject);
    var
      h: HWND;
      buf: array[0..256] of char;
    begin
      h:= form1.Handle;
      h:= findwindowex(h,0,'TEdit',nil);
      GetClassName(h,buf,256);
      if String(buf) = 'TEdit' then
      begin
        showmessage(TEdit(findcontrol(h)).Name);
      end;
      h:= windows.GetNextWindow(h,GW_HWNDNEXT);
      GetClassName(h,buf,256);
      if String(buf) = 'TEdit' then
      begin
        showmessage(TEdit(findcontrol(h)).Name);
      end;
    end;
      

  7.   

    我是要在exe2中输入数据,自动填入exe1中的5个EDIT里面去啊!或者说我现在在我的程序中已经知道了另外一个程序EXE1的一个窗体中的多个EDIT的句柄,如果知道他们各种的名称啊!不是类名.