当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

鼠标屏幕取词技术的原理和实现[VC/C++编程]

赞助商链接



  本文“鼠标屏幕取词技术的原理和实现[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

“鼠标屏幕取词”技术是在电子字典中得到遍及地利用的,如四通利方和金山词霸等软件,这个技术看似简单,其实在windows系统中实现倒是非常复杂的,总的来说有两种实现方法:

第一种:采取截获对部份gdi的api调用来实现,如textout,textouta等.

第二种:对每个设备上下文(dc)做一分copy,并跟踪全部改正上下文(dc)的操作.   

第二种办法更强盛,但兼容性不好,而第一种办法利用的截获windowsapi的调用,这项技术的强昌大概远远超越了您的想象,毫不浮夸的说,操纵windowsapi拦阻技术,你可以改革整个操作系统,事实上很多外挂式windows中文平台就是这么实现的!而这项技术也恰是这篇文章的主题.

windowsapi的调用,具体的说来也可以分为两种办法:

第一种办法通过直接改写winapi 在内存中的映像,嵌入汇编代码,使之被调用时跳转到指定的地址运行来截获;第二种办法例改写iat(import address table输入地址表),重定向winapi函数的调用来实现对winapi的截获.

第一种办法的实现较为烦琐,并且在win95、98下面更有难度,这是因为固然微软说win16的api只是为了兼容性才保存下来,程序员应当尽大概地调用32位的api,实际上根本就不是这样!win 9x内部的大部份32位api经过变更调用了同名的16位api,也就是说我们需求在拦阻的函数中嵌入16位汇编代码!

我们将要介绍的是第二种拦阻办法,这种办法在win95、98和nt下面运行都对比安定,兼容性较好.由于需求用到关于windows虚拟内存的管理、冲破进程边界墙、向利用程序的进程空间中注入代码、pe(portable executable)文件格局和iat(输入地址表)等较底层的知识,所以我们先对触及到的这些知识大约地做一个介绍,最后会给出拦阻部份的关键代码.


  以上是“鼠标屏幕取词技术的原理和实现[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 鼠标屏幕取词技术的原理和实现
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        100%(1)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .