袁飞兄的网站有。
http://go8.163.com/~ygyuan/

解决方案 »

  1.   

    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。