怎样在VB中实现屏幕取词?

gosling 2001-05-30 10:44:00
我现在急需一个关于在VB屏幕取词的程序,象金山词霸一样,请大家帮一下。
...全文
345 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimryo 2001-06-12
  • 打赏
  • 举报
回复
6 调用的函数被拦截进入跟踪程序:设置好了的跟踪程序截获了该次调用,从应用程序的堆栈中取出 该点(x,y)“文字”的指针;
7 从应用程序的数据段中将“文字”指针的内容取出,即完成了一次“屏幕抓字”;


关键是这两步啊?如何实现??说详细一点!
kw825 2001-06-09
  • 打赏
  • 举报
回复
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
sunsatan 2001-05-31
  • 打赏
  • 举报
回复
y1g1y1 2001-05-31
  • 打赏
  • 举报
回复
又有人问了,看看我的源程序:

ygyuan.go.163.com
kimryo 2001-05-31
  • 打赏
  • 举报
回复
Really?什么API?AllocCsToDs?

兄弟现实一点,还要内存映射的嘛!还有实现跳转的那一大段ASM的嘛!
pencat 2001-05-31
  • 打赏
  • 举报
回复
api很容易可以做到
kimryo 2001-05-31
  • 打赏
  • 举报
回复
用VB?!!!!.....................(已经被吓晕了)
pianopan 2001-05-30
  • 打赏
  • 举报
回复
unruledboy 2001-05-30
  • 打赏
  • 举报
回复
兄弟,我也想做,不过,实在有点难度

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧