怎么读取软件界面上面的文字?

wayne92 2006-04-12 11:02:28
比如打开QQ,就弹出了一个登录窗口,标题是"QQ用户登录",下面两个文本框的左侧分别写的是"QQ号码"和"QQ密码".那么怎么把这些文字读取出来呢?(因为现在要做一个读屏的软件,要实现这个功能.但想了蛮久都不知道用什么方法比较好).请教!
...全文
370 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanzhihua520 2006-12-30
  • 打赏
  • 举报
回复
up
wayne92 2006-04-14
  • 打赏
  • 举报
回复
谢谢了.确实可以参考一下金山词霸.
tiaoci 2006-04-12
  • 打赏
  • 举报
回复
查到窗口句柄后,GetWindowText就基本可以了(读窗体Title等)

不过有些窗口是自己绘制的,这个问题比较麻烦

要不参考词霸,自己给DrawText加钩子? 这就烦了
tiaoci 2006-04-12
  • 打赏
  • 举报
回复
API FindWindow/GetNextWindow/EnumWindows/EnumChildWindows就可以了吧

翻翻MSDN :)
wh8254 2006-04-12
  • 打赏
  • 举报
回复
关注中....
看有啥子好办法,期待高手
代码蜗牛sky 2006-04-12
  • 打赏
  • 举报
回复
在C++的话是可以用钩子来实现的,但在C#里面好像还不能做到这样的效果
代码蜗牛sky 2006-04-12
  • 打赏
  • 举报
回复
就像应该是在控件调用OnPaint方法的时候截取他要绘制的文本,而不是在已经绘制到屏幕之后再来提取,两种是完全不同的技术来的,前者比较容易实现
狼行荒漠 2006-04-12
  • 打赏
  • 举报
回复
用API函数吧,具体的可以去查一下,忘记了,以前用过
代码蜗牛sky 2006-04-12
  • 打赏
  • 举报
回复
一般来说不是从屏幕取词,而是在这个词在被系统绘制出来之前就已经被截取了
xupc 2006-04-12
  • 打赏
  • 举报
回复
只能调用API了,
先获取进程的ID,然后获取控件的ID,然后SendCommand获取控件的文字

具体详细的自已去研究了
msmvc 2006-04-12
  • 打赏
  • 举报
回复
有难度啊
大头_衍 2006-04-12
  • 打赏
  • 举报
回复
靠,难咯。学习。呵呵

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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