屏幕取词技术实现原理
屏幕取词技术实现原理
1.2. 需要用到winapi (不推荐,传统方法、】
需要进行全局鼠标Hook
然后在Hook事件里 根据鼠标的位置找到相应window的handle (WindowFromPoint)
再取回文本(GetWindowText)
为什么不推荐这个方法呢,很简单,跨系统性很差,不说xp win7 vista ,平板,linux,mac机不能通用。。不能兼容未来的位置gui系统。。
而且,对于使用自绘ui界面的系统来说,也不能使用。。
还有好多app是安卓体系下的app,通过模拟器在pc上运行,也不能截取这类app的文字。。
此外 文档少,实现难度也大,比较麻烦。
1.3. 推荐使用截屏+ocr
优点,十分明显,跨系统 跨gui体系。自绘还是win api还是Linux,mac界面,安卓系统app界面,全部统统一网打尽。。
1.4. 具体流程大概如下
获取鼠标坐标,这个很容易获取到。连js都可以容易获取到。
鼠标选取
第二,截取坐标范围文本。,因为鼠标选取了,文字反白了,很容易获得文字区域。。
Ocr得到文字。。
这样就得到文字了。。。
至于得到文字后如何处理,一般是显示一个翻译框到文字或者鼠标附近。。
涉及到gui的东西,当然最好使用跨平台跨gui系统最好的h5技术啦。。可以使用java,c#做个html解析器(一般使用browser控件即可)外壳,里面调用h5即可啦。。可以使用html css来控制显示的效果,方便快捷
参考资料
屏幕取词技术实现原理与关键源码 - 伯乐共勉 - 博客园.html
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
Atiend
屏幕取词技术实现原理相关推荐
- 1.1. 鼠标取词 屏幕取词技术实现原理
1.1. 鼠标取词 屏幕取词技术实现原理 1.2. 需要用到winapi (不推荐,传统方法.] 需要进行全局鼠标Hook 然后在Hook事件里 根据鼠标的位置找到相应window的handle ...
- 鼠标屏幕取词技术的原理和实现
鼠标屏幕取词技术的原理和实现 "鼠标屏幕取词"技术是在电子字典中得到广泛地应用的,如四通利方和金山词霸等软件,这个技术看似简单,其实在WINDOWS系统中实现却是非常复杂的,总的来 ...
- 屏幕取词技术实现原理与关键源码
转自: https://www.cnblogs.com/seacryfly/archive/2012/01/08/2316511.html 虽然屏幕取词技术早已经不是什么秘密,以至于除了汉化工具.翻译 ...
- 金山词霸”屏幕取词技术揭密(讨论稿)
金山词霸"屏幕取词技术揭密(讨论稿) 主题 屏幕取词技术系列讲座(一) 作者 亦东 很多人对这个问题感兴趣. 原因是这项技术让人感觉很神奇,也很有商业价值. 现在词典市场金山词霸占了绝对优势 ...
- 金山词霸”屏幕取词技术揭密
金山词霸"屏幕取词技术揭密 "金山词霸"屏幕取词技术揭密(讨论稿) ...
- “鼠标屏幕取词”技术
"鼠标屏幕取词"技术是在电子字典中得到广泛地应用的,如四通利方和金山词霸等软件,这个技术看似简单,其实在WINDOWS系统中实现却是非常复杂的,总的来说有两种实现方式: 第一种:采 ...
- Linux 下的屏幕取词技术
Linux 下的屏幕取词技术 作者: 于明俭 屏幕取词即当鼠标在应用软件所显示中/英文的地方滑过, 则有一小窗口 出现在离单词附近, 上面出现鼠标下面单词的解释. 屏幕取词以前一直是 MS Windo ...
- 鼠标屏幕取词原理 (VC++)
"鼠标屏幕取词"技术是在电子字典中得到广泛地应用的,如四通利方和金山词霸等软件,这个技术看似简单,其实在windows系统中实现却是非常复杂的,总的来说有两种实现方式: 第一种: ...
- 关于金山词霸的屏幕取词1
"金山词霸"屏幕取词技术揭密(讨论稿) (17千字) 发信人:5,555 时 间:2001-11-1 9:30:12 详细信息: "金山词霸"屏幕取词技术揭密( ...
- python屏幕取词_GetWord 3.3 屏幕取词
1. 缘起 要搞一个作弊软件,需要把屏幕上的试题取下来. 据说针对IE的取词很难,所以也就打消了自己开发的念头,找一找好用的控件. 发现了两个可以用的,一个是金山词霸的XdictGrb.dll文件,一 ...
最新文章
- 《Android应用开发》——1.3节配置Eclipse
- ZeroC ICE java异步实现方式(ami/amd)
- Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决
- js中内置对象Math()常用方法笔记
- 计算机网络·“存储-转发”式分组交换网
- 1365. How Many Numbers Are Smaller Than the Current Number 有多少小于当前数字的数字
- IOS学习之路七(使用 Operation 异步运行任务)
- 电脑中linux系统在哪里设置密码,linux添加一个root级别账户并设置密码linux操作系统 -电脑资料...
- VC 在对话框中增加菜单栏
- 【笔试/面试】—— linux(rpm)
- CSS-行内框、行框、行高
- 机器学习在微博信息流推荐中的应用实践
- 断线的风筝,该飘向哪里
- matlab 7.0电路图,基于Multisim10和Matlab7.0的正弦稳态电路分析
- 涠洲岛形成及地形地貌特征
- Cisco Packet Tracer入门实验之双机互联
- C++设计模式(全23种)
- 注册昵称时限制 中文7个字 字母21个
- 产业互联网,一次从需求侧向供给侧的自我嬗变
- 【MindInsight】在win下安装MindInsight遇到“ No module named apos;fcntlapos;“问题
热门文章
- win7如何设置wifi热点_win7电脑本地连接连不上怎么办?详细教您如何设置本地连接...
- 如何调用畅捷通接口_用友金蝶多组织多账套的不同数据如何合并?
- python seaborn 散点图矩阵_Kaggle、Python数据可视化seaborn(四):散点图
- linux 分区顺序 boot,关于Liunx下的硬盘分区问题(/boot分区)?
- 2. MFC编程——各函数作用
- MYSQL中删除重复记录的方法
- SQL 存储过程封装代码生成器
- Django 2.0 报错解决方案----持续更新中
- MyBatis:Pagehelper分页
- AC日记——[HNOI2012]永无乡 bzoj 2733