下面的程序可以得到窗口中控件的文本
var i:integer;
    mem:pchar;
  i := SendMessage(handle,WM_GETTEXTLENGTH,0,0); //handle为得到控件的句炳
  getmem(mem,i+1);
  SendMessage(hdloutput,WM_GETTEXT,i+1,LongInt(mem));
  shwomessage(strpas(mem));    
  getmem(mem,0);
  freemem(mem);上面的程序可以顺利得到对方程序中其他控件的内容,比如说richedit,edit等。
可是有一个class为Afx:400000:b:10011:9:0(通过spy++得到)的控件却得不到它
的内容,它上面也有文字,可以用鼠标选取,并可以复制、设置文字大小等,但
就是得不到内容。不知道为什么。郁闷中
请高手指教,不胜感激。顺便说一下,第一句i的值就为0。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
       mem:pchar;
    begin
      i := SendMessage(Edit1.handle,WM_GETTEXTLENGTH,0,0); //handle为得到控件的句炳
      getmem(mem,i+1);
      SendMessage(Edit1.Handle,WM_GETTEXT,i+1,LongInt(mem));
      Showmessage(strpas(mem));
      getmem(mem,0);
      freemem(mem);end;
    我在Delphi测试的结果! 
      

  2.   

    Edit1.Handle
    楼主可以FindWindow取!
      

  3.   

    楼顶的程序可以得到对方有些控件的内容,但是我需要的那个控件上的内容却不能得到。
     snake_eye(★蛇眼★上帝派来灌水的人)
    你有办法么?
    谢谢。
      

  4.   

    楼顶的hdloutput是笔误,替换为handle,指句柄。
      

  5.   

    你是用的Win 2000吧?这些方法只有Win98/WinME可以取到!
      

  6.   

    因为在 Win98/WinMe 中的SendMessage有泄漏数据的问题
      

  7.   

    我有一个可以在win2000下查看密码的程序,有source
    http://www.tonixsoft.com/index.php?mmenu_id=3&smenu_id=0015
      

  8.   

    是一个得到mud客户端内容的东西。
      

  9.   

    9x下是可以楼主的方法ok2000下一个独立的内核进程是不允许其他进程访问其部份数据的,但是我们可以换一种方式,
    就是利用木马的部份原理,采用寄生的方法,由一个主程序,将一个DLL远端线程注入到你想访问的进程的内存空间中,再启动远端线程,这样就可以正常访问其数据了。祝你成功~
      

  10.   

    xch28 (笑沧海) 
    下面是我做的一个盗取QQ密码的一段。看对你有没有帮助!Buf: array[0..1024] of Char; HWndCalculator:=findWindow('#32770',nil);//查找QQ句柄,QQ的窗口类名是#32770
     hchild1:=findWindowEx(hwndcalculator,0,'edit',nil);//QQ上的密码输入框
     hchild2:=findWindowEx(hwndcalculator,0,'comboBox',nil);
     hbut1:=findWindowEx(hWndcalculator,0,'Button','登录');//下面handle可以是上面任何一个控件句柄
     GetClassName(Handle, Buf, 1024); // 得到类名
     ClassNameText.Caption := Buf;
     SendMessage(Handle, WM_GETTEXT, 33, Integer(@Buf)); // 得到标题
     TitleText.Caption := Buf;
      

  11.   

    其实很简单,有一个API函数WINDOWFROMPOINT 可以得到某一个点的窗口句柄,不妨试试
      

  12.   

    thanks all
    因为我换了一种方式实现,所以没有尝试大家的方法,给分的时候如果有不太公平的地方,也不要来找我了。:)