异想天开? 如何读取屏幕某处显示的一段字? 试问高手:如何读取屏幕某处显示的一段字? 没办法,只有霸王硬上弓。假设某软件在屏幕某处有一个窗口,如何用另一个软件读取该窗口显示的文字。先谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CDC dc;dc.CreateDC(NULL);//Get the Screen DC then you can use this DC get the graphy you wanted on the screen. 这是屏幕截词的技术, 不过实现起来麻烦一些, 以我的经验, 通常你需要做到以下几点:1) 使用HOOK技术, 完成对其它进程的注入动作。2)修改各进程中的引入表的跳转地址,使其跳转到我们的过程上来(这你需要了解PE格式)3)枚举出各进程中所装入的模块, 并在各模块中修改相应的API函数的跳转指令, 使其转到我们的过程上来(这你需要了解进程)4)另外一个原则是,当你准备取哪的词时,就使该区域强行重绘一次(诸如:InvalidateRect函数)。5)如此以来,有了上面的基础,我们可以对文字输出的API进行了很周全的拦截,(如: TextOutA, DrawTextA...), 在我们的拦截过程中对传入的参数(字符串)进行处理之后,再把控制权还给系统(内部再调用相应的API)。到此为至你已经完成了对屏幕上取词的过程,但更复杂的情况往往在实现时出现,所以以上的几点只是取词的要点部分,其余的零星小事还需要你来完成。:) 抓图,转换成黑白位图,再做模式识别,不是做不了,只是效果不怎么好,清华紫光的OCR(是不是这样写的?)就是这么做的! DisplayWorld(没齿骆驼) 这是屏幕截词的技术金山词霸就是如此的 HDC hdc=::getdc(0)//得到整个屏幕的DC。drawtext(hdc,0,0,100,100,Txtstr);//在屏幕上矩形(0,0,100,100)处显示字串Txtstr内容 屏幕截词技术,金山词霸就是如此HDC hdc=::getdc(0)//得到整个屏幕的DC。drawtext(hdc,0,0,100,100,Txtstr);//在屏幕上矩形(0,0,100,100)处显示字串Txtstr内容?? i think u can try thisenum all process( child process ) and select current process (API enumwindows enumchildwindow )readprocessmemory MFC中画图如何将定位到某个控件 如何隐藏主窗口 如何用一个指定声卡播放音频文件 请教一个关于构造函数重载的问题!谢谢! 求VC学习的源码 ODBC的疑问 在线播放音乐的客户端 请教各位一下 ,maindialog处在定时器刷新状态时,悬浮框拖动会有 静态文本框怎么显示位图? 谁能给我用ADO读写access的范例?请给我一些讲解(越详细越好,有书也行) 如何知道某窗口是否处于激活状态? 请问在VC中如何控制打印机?我从来没有做过这方面的东西,望大家赐教。
dc.CreateDC(NULL);
//Get the Screen DC then you can use this DC get the graphy you wanted on the screen.
这是屏幕截词的技术, 不过实现起来麻烦一些, 以我的经验, 通常你需要做到以下几点:1) 使用HOOK技术, 完成对其它进程的注入动作。
2)修改各进程中的引入表的跳转地址,使其跳转到我们的过程上来(这你需要了解PE格式)
3)枚举出各进程中所装入的模块, 并在各模块中修改相应的API函数的跳转指令, 使其转到我们的过程上来(这你需要了解进程)
4)另外一个原则是,当你准备取哪的词时,就使该区域强行重绘一次(诸如:InvalidateRect函数)。
5)如此以来,有了上面的基础,我们可以对文字输出的API进行了很周全的拦截,(如: TextOutA, DrawTextA...), 在我们的拦截过程中对传入的参数(字符串)进行处理之后,再把控制权还给系统(内部再调用相应的API)。到此为至你已经完成了对屏幕上取词的过程,但更复杂的情况往往在实现时出现,所以以上的几点只是取词的要点部分,其余的零星小事还需要你来完成。:)
drawtext(hdc,0,0,100,100,Txtstr);//在屏幕上矩形(0,0,100,100)处显示字串Txtstr内容
drawtext(hdc,0,0,100,100,Txtstr);//在屏幕上矩形(0,0,100,100)处显示字串Txtstr内容
??
enum all process( child process ) and select current process (API enumwindows enumchildwindow )
readprocessmemory