请问如何得到其它程序TMemo的内容?FindWindowEx和GetText不起作用。
我用 FindWindowEx 最终找到了需要的 TMemo 的句柄,但是用 GetText 却返回 0。
Memo 控件有内容,但无法得到,请问有什么招儿和函数?
问题点数:20、回复次数:8Top
1 楼ljianq(泉深水清)回复于 2003-12-05 08:38:53 得分 1
使用GetWindowText()应该可以 的。Top
2 楼ccrun(老妖)(www.ccrun.com)回复于 2003-12-05 10:00:21 得分 15
int nTextLen;
nTextLen = SendMessage(hWindow, WM_GETTEXTLENGTH, 0, 0);
char szStrBuf[65535];
if(nTextLen>65534)
nTextLen = 65534;
SendMessage(hWindow, WM_GETTEXT, nTextLen + 1, (LPARAM)szStrBuf);
memWinDetail->Lines->Add(szStrBuf);Top
3 楼ccrun(老妖)(www.ccrun.com)回复于 2003-12-05 10:01:06 得分 0
忘了说了。
memWinDetail是Form上的一个Memo.Top
4 楼hohulove(左右手)回复于 2003-12-05 10:26:43 得分 2
可先用findwindow找到那个窗体的Handle,然后再EnumChildWindows找到那个TMemo的Handle,再SendMessage就OK了!哈哈Top
5 楼Raptor(猛禽)回复于 2003-12-05 11:14:57 得分 2
在WIN9X下可以,但在WIN 2K下不行。因为WIN 2K只能在本进程中进行GETTEXT操作,所以解决的办法是用鼠标钩子或远程线程注入。Top
6 楼ccrun(老妖)(www.ccrun.com)回复于 2003-12-05 18:06:56 得分 0
我的代码在win2k下是可以的。
那是minispy其中的一段代码。Top
7 楼atoz(阿土仔)回复于 2003-12-07 00:41:46 得分 0
抱歉各位久等了。
ljianq(泉深水清)
我写错了,用 GetWindowText 无法得到数据。
ccrun(老妖)
我用你的发消息方法实现了。
hohulove(hohulove)
你跟老妖的方法一样,也就是我想问的方法。
我对 win32 消息不熟悉,;-P
Raptor(猛禽)
我觉得没有必要用钩子。
感谢各位!Top
8 楼Raptor(猛禽)回复于 2003-12-08 09:50:56 得分 0
呵呵,是偶搞错了,原来只是取MEMO的内容啊,我还以为要取密码:)Top




