如何获得其他进程中的Edit Control中的字符?

xiaoy 2000-08-09 05:44:00
请教各位:
我在MouseMove事件中用:
ClientToScreen(&point);
pWnd=WindowFromPoint(point);
pWnd->GetWindowText(sText); // CString sText
当point位于Edit Control上时为什么不能得到Edit Control中的字符?(但它可以得到Static 、Button等的标题。)
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyqer 2000-08-10
  • 打赏
  • 举报
回复
我也遇到过同样的问题。
xubin_sh 2000-08-10
  • 打赏
  • 举报
回复
会有些问题,因为不是同一个进程,那就不在同一个地址空间,所以你的程序分配的内存(用于接受GetWindowText的返回数据)在他的地址空间中是无效的,对你的应用程序像Static,Button可以得到是因为,os为了向前兼容,而作了一些特殊内存从映射问题处理,具体说起来很复杂,你可以看jeffary richard的《Windows高级编程》(MS Press)中的最后一章:打破进程的边界
hyzx2000 2000-08-09
  • 打赏
  • 举报
回复
用::SendMessage( pWnd->GetSafeHwnd(), WM_GETTEXTLENGTH, ... )得到文本长度,
用::SendMessage( pWnd->GetSafeHwnd(), WM_GETTEXT, ... )得到文本内容。
如果不行,可以编写一个dll来实现。因为dll是全局的。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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