请问如何得到其它程序TMemo的内容?FindWindowEx和GetText不起作用。

atoz 2003-12-04 07:51:20
我用 FindWindowEx 最终找到了需要的 TMemo 的句柄,但是用 GetText 却返回 0。

Memo 控件有内容,但无法得到,请问有什么招儿和函数?
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
猛禽 2003-12-08
  • 打赏
  • 举报
回复
呵呵,是偶搞错了,原来只是取MEMO的内容啊,我还以为要取密码:)
atoz 2003-12-07
  • 打赏
  • 举报
回复
抱歉各位久等了。

ljianq(泉深水清)
我写错了,用 GetWindowText 无法得到数据。

ccrun(老妖)
我用你的发消息方法实现了。

hohulove(hohulove)
你跟老妖的方法一样,也就是我想问的方法。
我对 win32 消息不熟悉,;-P

Raptor(猛禽)
我觉得没有必要用钩子。

感谢各位!
猛禽 2003-12-05
  • 打赏
  • 举报
回复
在WIN9X下可以,但在WIN 2K下不行。因为WIN 2K只能在本进程中进行GETTEXT操作,所以解决的办法是用鼠标钩子或远程线程注入。
hohulove 2003-12-05
  • 打赏
  • 举报
回复
可先用findwindow找到那个窗体的Handle,然后再EnumChildWindows找到那个TMemo的Handle,再SendMessage就OK了!哈哈
ccrun.com 2003-12-05
  • 打赏
  • 举报
回复
忘了说了。
memWinDetail是Form上的一个Memo.
ccrun.com 2003-12-05
  • 打赏
  • 举报
回复
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);
ljianq 2003-12-05
  • 打赏
  • 举报
回复
使用GetWindowText()应该可以 的。
ccrun.com 2003-12-05
  • 打赏
  • 举报
回复
我的代码在win2k下是可以的。
那是minispy其中的一段代码。

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧