我想抓取另一个程序中的某个控件上的文本,
用spy++抓取发现程序中显示的文本跟抓到的caption不一致
之前发了几个帖子,说是可能是自定义控件或者用textout输出的,提议用hook textout的方式来抓取
本人菜鸟,现在也没有多少精力来研究这个问题,所以请大家帮忙!在此先感谢了!我不会用vc,用的c#,现在已经找到了一个c# hook api的例子,是hook mouse的。
我想请问几个问题:
1.如果想改称hook testout的,需要怎么来改?大体都什么地方需要修改呢?
2.例子中安装钩子的时候传入的一个参数WH_MOUSE_LL=14
那现在我hook textout的话应该传入什么参数呢?
3.回调函数中如何取得textout的文本呢?给解释一下也行,给点代码多加些注视也行,不胜感激阿!
解决问题的话,最后的800分全给。今天是2007年的最后一天了,祝所有今天还在CSDN上的CSDNer新年快乐!
用spy++抓取发现程序中显示的文本跟抓到的caption不一致
之前发了几个帖子,说是可能是自定义控件或者用textout输出的,提议用hook textout的方式来抓取
本人菜鸟,现在也没有多少精力来研究这个问题,所以请大家帮忙!在此先感谢了!我不会用vc,用的c#,现在已经找到了一个c# hook api的例子,是hook mouse的。
我想请问几个问题:
1.如果想改称hook testout的,需要怎么来改?大体都什么地方需要修改呢?
2.例子中安装钩子的时候传入的一个参数WH_MOUSE_LL=14
那现在我hook textout的话应该传入什么参数呢?
3.回调函数中如何取得textout的文本呢?给解释一下也行,给点代码多加些注视也行,不胜感激阿!
解决问题的话,最后的800分全给。今天是2007年的最后一天了,祝所有今天还在CSDN上的CSDNer新年快乐!
上面那个连接里有,HOOK TextOut的具体代码(屏幕取词),还有Demo
如果不是标题,还是挺麻烦的。假如它是一个图片怎么办。
但是也不是caption,因为spy++是看不到文字的
首先,要做一个dll。因为要hook的是另一个进程的TextOut。光这个c#就做不了。
----------------------
原理应该是一样的吧,主要是c#那边写这个东西的人太少了,可能很少人知道这方面的知识
关于那个dll我肯定会用vc去写,说明我用的c#只是想让大家别一下给我一堆代码,看去吧,就完了,呵呵,我看不懂啊
最好的情况是能给我一个例子,然后给我加上一些注释,我自己来转换成c#,这就行了。想办法得到控件句柄就能得到文本内容,用EnumWindow和FindWindowEx应该能够实现
--------------------------
这个好像不太行
用spy++是可以得到句柄的,但是看不到空间上的内容,用getwindowstext和sendmessage得到的都是caption,是一个空值。
用c#很难
首先,要做一个dll。因为要hook的是另一个进程的TextOut。光这个c#就做不了。
--------------------------
恩,这个肯定是用vc来写,不过我现在是不知道该怎么动手去写这个东西,呵呵。
已经可以抓到文本了,但是现在的问题是抓到的文本是一个字一个字显示的
一个字一行,而且一句话比如有10个字,可能抓到两个,可能抓到五个,是隔几个字抓一个字的
再帮我看下吧。
多谢多谢!