zd_ariel 发表于 2010-1-28 16:27:44

急:GetVisibleText获取到的中文是乱码怎么解决???

想获取一个WinObject("AfxWnd42d")中的一些数据,不知道它如何读取。

后来想到用GetVisibleText来获取某个区域的文本。

用记事本试了一下,记事本中的数据如果是英文的就是正确的,如果含中文,中文部分就是乱码,这个问题怎么解决????

哪位高手帮帮忙吧。:(

yujie6832 发表于 2010-1-28 17:59:34

恕我拙见,WINOBJECT的控件对你也有用?所有不能识别的都是这个。。。。:(

假装不在 发表于 2010-1-28 21:12:48

操作系统,QTP版本,区域,语言。

zd_ariel 发表于 2010-1-29 08:34:21

操作系统是XP简体中文
然后在QTP的Option中设置了一个中文之后,可以读出个别字,但是英文就读不出来了。大部分中文字还是乱码

mklodoss 发表于 2010-1-29 09:12:16

试过不会啊。
The GetVisibleText method may behave differently in different run sessions depending on the operating system version you are using, service packs you have installed, other installed toolkits, the APIs used in your application, and so on.Therefore, when possible, it is highly recommended to use the GetROProperty method or the Object property to retrieve the value of the text (or equivalent) property from an object in your application instead of using the GetVisibleText method.

mklodoss 发表于 2010-1-29 09:43:14

还是不要用getvisibletext,用getroproperty吧,getvisibletext是capture当前的窗口,如果你的窗口被挡住了,又或是有滚动框,用getvisibletext就不能得到全部的文字了。不稳定。

zd_ariel 发表于 2010-1-29 12:58:44

回复 6# 的帖子

主要是这个winobject下我没有版本识别到相应的属性,不能用getroproperty。

getvisibletext,如果简体中文的话,大部分中文字是不能识别的,有些能识别,也识别的未必对,如“保存”被识别成“倪存”;
如果English的话,可以识别所有的英文,中文就不能识别了。

yujie6832 发表于 2010-1-29 13:05:44

为什么要在WINOBJECT的控件上下功夫。。。。。。。。。

zd_ariel 发表于 2010-1-29 13:15:33

回复 8# 的帖子

有其他办法最好了。

但是我也想不出来啊,他的上一层是一个dialog。

yujie6832 发表于 2010-1-29 13:19:40

回复 9# 的帖子

我在考虑这个自动化的必要性了。。。。。花这么多精力去搞WINOBJECT,还是手工过便把。。。。。。。。。。

kasad 发表于 2012-4-20 15:52:58

楼主,问题解决了吗?我也遇到同样的问题

Shawn_xiao 发表于 2012-4-20 22:32:50

能不用winobject就尽量别bject用,因为任何window的对象都可以说是winobject.
这个和webelement是一个道理 能不用就尽量避免 哪怕是用description也比这个好
页: [1]
查看完整版本: 急:GetVisibleText获取到的中文是乱码怎么解决???