我需要用到屏幕取词功能,在网上查了一下这方面的资料,主要就是用HOOK API技术实现,
我修改了一下别人的代码用到自己的程序中,但有如下几个疑问还解决不了:
(1)因为我取词的对象窗口可能是不同的应用程序,为了保证任何情况下取词成功,应该HOOK哪些API?(我目前知道的是4个:TextOutA,TextOutW,ExtTextOutA,ExtTextOutW)
(2)因为我要取的是指定位置的词,因此挂上API钩子后便调用InvalidateRect来刷新指定区域,但我在notepad中试验的时候,发现每次取出的都是我指定的这个Rect所在那一整行的词,而不是仅仅Rect中的词,最后我还是不知道怎么得到指定Rect中的词!也就是我只让某个Rect重绘,但实际上重绘的是一整行,不知道怎么回事?(这是在notepad中试验的结果,在word中也不正常) 谢谢高手指教!
我修改了一下别人的代码用到自己的程序中,但有如下几个疑问还解决不了:
(1)因为我取词的对象窗口可能是不同的应用程序,为了保证任何情况下取词成功,应该HOOK哪些API?(我目前知道的是4个:TextOutA,TextOutW,ExtTextOutA,ExtTextOutW)
(2)因为我要取的是指定位置的词,因此挂上API钩子后便调用InvalidateRect来刷新指定区域,但我在notepad中试验的时候,发现每次取出的都是我指定的这个Rect所在那一整行的词,而不是仅仅Rect中的词,最后我还是不知道怎么得到指定Rect中的词!也就是我只让某个Rect重绘,但实际上重绘的是一整行,不知道怎么回事?(这是在notepad中试验的结果,在word中也不正常) 谢谢高手指教!
2、如果一整行,那就分割字符串