请问怎样才能实现屏幕取词的功能
请问怎样才能实现屏幕取词的功能 问题点数:10、回复次数:7Top
1 楼h0u3a7n6g(冰河初期)回复于 2006-05-01 10:00:24 得分 0
这样的问题可以先百度一下,可以找得到,并且讲解很详细。真是遇到了非常具体的问题再到这里来问,我感觉会比较好一点。Top
2 楼h0u3a7n6g(冰河初期)回复于 2006-05-01 10:10:22 得分 0
我也很想深入了解屏幕取词,在网上搜集了一些文章,如果想要的话把你的邮箱留给我。
网上使用的方法主要是:
1 用SetWindowsHookEx()安装鼠标钩子MouseProc;
2 在屏幕上移动鼠标时,系统就会调用鼠标钩子MouseProc;
3 进入MouseProc,获得鼠标的坐标(x,y),设置对TextOut()、ExtTextOut()等的跟踪程序,用nvalidateRect()告诉系统该点(x,y)“失效”;
4 系统发出WM_PAINT消息,指示该点(x,y)处的应用程序重绘“失效”的区域。
5 负责绘制该点()的应用程序在受到WM_PAINT 消息后,就有机会调用TextOut()、ExtTextOut()等函数。
6 调用的函数被拦截进入跟踪程序:设置好了的跟踪程序截获了该次调用,从应用程序的堆栈中取出 该点(x,y)“文字”的指针;
7 从应用程序的数据段中将“文字”指针的内容取出,即完成了一次“屏幕抓字”;
8 退出跟踪程序,返回到鼠标钩子MouseProc;
9 在MouseProc中解除对TextOut() ExtTextOut()的跟踪;
10 退出MouseProc鼠标钩子程序,控制权交给系统。
11 在屏幕上移动鼠标,开始下一次“屏幕抓字”,返回步骤2
我自己认为“鼠标选定”这个动作就可以拿来研究,但不知道鼠标选定具体是怎样实现的
Top
3 楼verywzm(寒江雪)回复于 2006-05-01 10:18:51 得分 0
要完全用自己的代码实现是很难的,你问了N遍了,而且每次分都那么低,高手自然不进来!
而且塞北雪貂的方法很好呀!Top
4 楼wujingyi88888()回复于 2006-05-01 10:19:29 得分 0
我的邮箱是:wujingyi88888@yahoo.com.cnTop
5 楼h0u3a7n6g(冰河初期)回复于 2006-05-01 11:01:40 得分 0
就是因为难才要深入了解,大家都是要学习嘛 争取把这个问题弄懂。一个月两个月或者更长时间Top
6 楼killl(好烦)回复于 2006-05-01 18:19:53 得分 0
不是说调用金山词霸的dll吗Top
7 楼wujingyi88888()回复于 2006-05-02 09:04:10 得分 0
高手帮帮忙吧在下先想你们道谢了Top




