如何从一个程序中对另外的一个程序中的文本框获取数据???那对它进行赋值呢?
两个程序不是客户端,服务器的关系.
请高手们回答,谢谢.

解决方案 »

  1.   

    用EnumWindows()和EnumChildWindows()找到另一个程序的文本框句柄,向它SendMessage,取数据是WM_GETTEXT,赋值是WM_SETTEXT
      

  2.   

    给你找了一个:
    procedure TForm1.Button1Click(Sender: TObject);
     function EnumChildWindowsProc(hwnd: Integer; lparam: Longint):Boolean; stdcall;
      var
        buffer: array[0..255] of Char;
      begin
        Result := True;
        GetClassName(hwnd,buffer,256);
        if StrPas(Buffer)='TEdit' then  //找TEdit控件
        begin
          PInteger(lparam)^ := hwnd;   //得到目标控件的Hwnd(句柄)
          Result:=False;  //终止循环
        end;
      end;
    var
      Hand: Integer;
    begin
      Hand := FindWindow(nil,'Form2');  //Form2第二个程序的窗口名
      if Hand<>0 then
        begin 
          EnumChildWindows(Hand,@EnumChildWindowsProc,Integer(@Hand));
          SendMessage(Hand,WM_SETTEXT,0,Integer(pchar('Your String')));
        end;
    end;