比如我的MSN取名叫A, 有个朋友B发来一句:“你好吗?”
然后A(我)回一句:“挺好的,谢谢”。结果捕捉到的字符串是:
23:58:07 x:60 y:58 B 说:
你好吗?
23:58:07 x:138 y:58 说:
你好吗?
23:58:07 x:60 y:58 B 说:
你好吗?
23:58:07 x:138 y:58 说:
你好吗?
23:58:09 x:60 y:58 B 说:
你好吗?
23:58:09 x:138 y:58 说:
你好吗?
23:58:09 x:60 y:58 B 说:
你好吗?
23:58:09 x:138 y:58 说:
你好吗?
23:58:10 x:60 y:58 B 说:
你好吗?
23:58:10 x:138 y:58 说:
你好吗?
23:58:10 x:60 y:58 B 说:
你好吗?
23:58:10 x:138 y:58 说:
你好吗?
23:58:10 x:182 y:153 B 说:
?你好吗?
23:58:10 x:182 y:153 B 说:
?你好吗?
23:58:10 x:182 y:153 B 说:
?你好吗?
23:58:19 x:182 y:153 B 说:
?你好吗?
A 说:
?挺好的,谢谢
23:58:19 x:200 y:170 你好吗?
A 说:
?挺好的,谢谢
23:58:19 x:182 y:187 A 说:
?挺好的,谢谢
23:58:25 x:182 y:153 B 说:
?你好吗?
A 说:
?挺好的,谢谢
23:58:25 x:200 y:170 你好吗?
A 说:
?挺好的,谢谢
23:58:25 x:182 y:187 A 说:
?挺好的,谢谢
9 个解决方案
#1
我的目的是要捕捉住最后的一句话,而不受刷新等操作影响。谢谢了
#2
捕捉里加个判断呗,例如记录上一次捕捉的内容,相同则略过
#3
kankan
#4
好像没这么简单。
#5
我想我知道你的意思了.......囧,那么换个思路ExtTextOut这个函数是存在句柄,字号,颜色等各种信息的,如果从句柄来区分,应该可以略掉一部分文字吧
#6
剩下的不好办了,只能把截取的内容通过内存映射或者消息发到你的主程序里,然后由外部程序撰写处理逻辑来过滤了
#7
你勾住ExtTextOut的思路不妥当
内容区刷新,重画,滚动都会导致反复输出相同文本。
而且同一段文本在输出时,也会出现多次。
内容区刷新,重画,滚动都会导致反复输出相同文本。
而且同一段文本在输出时,也会出现多次。
#8
是啊,的确有这个问题,所以一直没有找到解决的办法。我看有人用hook CreateTextServices的方法,不知道能不能解决这个问题?兄弟你有何高见,请不吝赐教。
#9
function CreateTextServices(punkOuter:IUnknown;pITextHost:ITextHost;
var ppUnk:IUnknown):HResult;
ITextHost编译不通过,应该uses哪个啊?
var ppUnk:IUnknown):HResult;
ITextHost编译不通过,应该uses哪个啊?
#1
我的目的是要捕捉住最后的一句话,而不受刷新等操作影响。谢谢了
#2
捕捉里加个判断呗,例如记录上一次捕捉的内容,相同则略过
#3
kankan
#4
好像没这么简单。
#5
我想我知道你的意思了.......囧,那么换个思路ExtTextOut这个函数是存在句柄,字号,颜色等各种信息的,如果从句柄来区分,应该可以略掉一部分文字吧
#6
剩下的不好办了,只能把截取的内容通过内存映射或者消息发到你的主程序里,然后由外部程序撰写处理逻辑来过滤了
#7
你勾住ExtTextOut的思路不妥当
内容区刷新,重画,滚动都会导致反复输出相同文本。
而且同一段文本在输出时,也会出现多次。
内容区刷新,重画,滚动都会导致反复输出相同文本。
而且同一段文本在输出时,也会出现多次。
#8
是啊,的确有这个问题,所以一直没有找到解决的办法。我看有人用hook CreateTextServices的方法,不知道能不能解决这个问题?兄弟你有何高见,请不吝赐教。
#9
function CreateTextServices(punkOuter:IUnknown;pITextHost:ITextHost;
var ppUnk:IUnknown):HResult;
ITextHost编译不通过,应该uses哪个啊?
var ppUnk:IUnknown):HResult;
ITextHost编译不通过,应该uses哪个啊?