CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何识别网页中鼠标所指的任意文本,就象翻译软件那样?

楼主microran2000(什么时候才能看到星星?)2002-09-21 19:42:45 在 VC/MFC / 基础类 提问

我可以获得当前鼠标所指的网页中的密码编辑框(即FORM表单元素的文本,包括文本框、按钮等等),但是我想知道如何获得网页中鼠标下的任意字符。  
        网页光标取词和窗口模式下有很大不同,通常钩子函数,API拦截Textout、发送Invalidate的方法在这里失效。  
      从网页中取得元素需要获得网页所在窗口的句柄,然后根据IE   组件编程获得。  
      最好使用C++   IE   扩展获得IE窗口中鼠标所指的某个英语单词。注意不是一段文字。  
  问题点数:50、回复次数:12Top

1 楼xghome(东楼)回复于 2002-09-22 00:10:36 得分 0

gzTop

2 楼oldworm(oldworm)回复于 2002-09-22 01:03:59 得分 5

这是老问题,网上有N多的人讨论金山词霸的实现,就是将这些东西。  
  Top

3 楼rivershan(阿门)回复于 2002-09-22 02:15:25 得分 5

哈……  
  我也在想~Top

4 楼JennyVenus()回复于 2002-09-22 02:17:14 得分 5

是吗?我没有想,有人问我就看,看多了就慢慢理解了。  
   
  赖皮呀Top

5 楼ttzzgg_80713(身无立锥地,常有四海心---老子有条命)回复于 2002-09-22 04:13:41 得分 5

我估计是个消息钩子--------------------一点浩然气,千里快哉风-----------------Top

6 楼beyound(我知道为什么总让我重新登陆)回复于 2002-09-22 08:46:26 得分 5

关注Top

7 楼zwert(小张)回复于 2002-09-25 18:51:14 得分 5

简单的用getwindowtext行不行呢?Top

8 楼microran2000(什么时候才能看到星星?)回复于 2002-09-25 19:52:45 得分 0

不行的,因为你无法获得该元素的窗口句柄,事实上光标下该元素的所有文本我可以得到,但是我无法获得光标处所在字符在该文本字符串中的索引。Top

9 楼YoungBoz(西山月)回复于 2002-10-13 20:15:13 得分 20

应该是Hook   TextOut类函数吧,当需要取词时重绘该区域。我想到一个可以检测是不是这样做的办法,有兴趣的可以试试。我测试了一下在我的OnDraw中输入以下代码:  
  CRect   rectPaint=((CPaintDC*)pDC)->m_ps.rcPaint;  
  CRect   rectClient;  
  GetClientRect(rectClient);  
  if(rectClient==rectPaint)  
  {  
  pDC->TextOut(100,200,"U.S.A");  
  return;  
  }  
  pDC->TextOut(100,200,"Chinese");  
  金山词霸就被我骗了,在屏幕上显示的是U.S.A,它给出的解释是Chinese的解释。Top

10 楼microran2000(什么时候才能看到星星?)回复于 2002-10-13 20:34:20 得分 0

YoungBoz(西山月)   朋友,你能用网页试一下吗?我现在可以获得光标下整句文本,只是不知道如何断句,只取该句中离鼠标最近的英文单词。Top

11 楼YoungBoz(西山月)回复于 2002-10-15 00:42:21 得分 0

Sorry   我的VC++5。0不支持CHtmlView,所以无法为你做这个测试了。不过我想网页显示应该不会绕开GDI吧。如果没有绕开GDI显示文本自然也要用到TextOut.我试了一下,金山词霸在取网页中的词时,也要不断的发WM_PAINT消息的。Top

12 楼microran2000(什么时候才能看到星星?)回复于 2002-10-15 08:19:09 得分 0

是么?非常感谢Top

相关问题

  • 寻找文本识别软件!
  • 对文本内容的识别
  • 如何实现对文本文件任意一行的读写?
  • 怎么实现任意表中文本字段的检索?
  • 如何在客戶端任意修改TABLE中的文本!
  • 如何删除文本中的任意一行啊
  • 如何在文本文件的任意位置添加字符串,加急
  • 数据窗口导出文本时,如何让任意字段不导出?
  • 怎样在多行文本中将光标定位到任意行的行首
  • 求ASP翻译文本的程序,有的扔一个,谢谢!

关键词

  • 网页
  • 文本
  • 鼠标
  • 金山词霸
  • ie
  • 光标
  • textout
  • rectclient
  • 获得
  • 元素

得分解答快速导航

  • 帖主:microran2000
  • oldworm
  • rivershan
  • JennyVenus
  • ttzzgg_80713
  • beyound
  • zwert
  • YoungBoz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo