读书人

文本框里怎么获得鼠标位置的单个文字

发布时间: 2012-03-09 16:54:57 作者: rapoo

文本框里,如何获得鼠标位置的单个文字?
我想做一个功能,在一篇文章中,鼠标停留在某个字上,就显示某个字的拼音。(给小朋友用的)(感觉有点像金山词霸取词的功能)
问题来了,如果是Label或者Textbox等能显示文字的控件里,如何获取鼠标停留位置的文本?


[解决办法]
这个啊,给个思路把,作起来没有点功底是作不出来的。当然是底层的功底了

用api hook;
1)获得鼠标当前位置,这个可以用.net来获得
2) 获得鼠标下面的窗体,这个只能枚举所有窗体enumWindow以及activewindow来判断了,用win api
3) invalidateRect,目的是为了重绘那些字,从而获得那些字
4)hook住下面几个底层函数,Textout,drawtext从他的参数就能获得那些字了。
应为重绘,所以系统会再次调用上面的几个函数。

还有,你最好会汇编代码。
[解决办法]
API的也应该是有例子,就是先定义再引用就是了

读书人网 >C#

热点推荐