鼠标屏幕取词技术的原理和实现
鼠标屏幕取词技术的原理和实现
“鼠标屏幕取词”技术是在电子字典中得到广泛地应用的,如四通利方和金山词霸 等软件,这个技术看似简单,其实在windows系统中实现却是非常复杂的,总的来说 有两种实现方式:
第一种:采用截获对部分gdi的api调用来实现,如textout, textouta等。
第二种:对每4^1殳备上下文(de)做一分copy,并跟踪所有修改上下文(de)的操作。
笫中方法更强大,但兼容,性不好,而笫一种方法使用的截获windowsapi的调 用,这项技术的强大可能远远超出了您的想象,毫不夸张的说利用windowsapi拦截 技术,你可以改造整个操作系统,事实上很多外挂式windows中文平台就是这么实现 的?而这项技术也正是这篇文章的主题。
截windowsapi的调用,具体的说来也可以分为两种方法:
笫一种方法通过直接改写winapi在内存中的映像,嵌入汇编代码,使之被调用时 跳转到指定的地址运行来截获;笫二种方法则改写iat (import address table输入地 址表),重定向winapi函数的调用来实现对winapi的截获。
笫一种方法的实现较为繁琐,而且在win95. 98下面更有难度,这是因为虽然微软 说winl6的api只是为了兼容性才保留下来,程序员应该尽可能地调用32位的api,实 际上根本就不是这样?wi
原创力文档

文档评论(0)