51Testing软件测试论坛

标题: 关于HWND函数的问题??? [打印本页]

作者: skyhen    时间: 2007-8-6 14:34
标题: 关于HWND函数的问题???
an IE browser with the method CreateObject()
Dim objIE, hwndIE
Set objIE = CreateObject("word.application")
objIE.Visible = true
'objIE.Navigate URL 'The parameter URL is the destination address for the IE browser

'Wait a while till the page is fully loaded
Wait(10)

'Move and resize the browser
hwndIE = objIE.HWND
Dim intPosX,intPosY,intSizeX,intSizeY
intPosX = 0  '设置移动的横坐标
intPosY = 0  '设置移动的纵坐标
intSizeX = 500   '设置窗体的横坐标大小
intSizeY = 500   '设置窗体的纵坐标大小
'Operate the IE browser as a window object with descrīptive programming
'The window object can be uniquely identified by the parameter hwndIE, which is the window's handle of the browser
Window ("hwnd:=" & hwndIE).Activate
Window ("hwnd:=" & hwndIE).Move intPosX, intPosY 'intPosX and intPosY represent the new location for the IE browser
Window ("hwnd:=" & hwndIE).Resize intSizeX, intSizeY 'intSizeX and intSizeY represent the new size for

'Release the object after the adjustment
Set objIE = nothing

运行至hwndword = XLApp.HWND时,程序提示“对象不支持此属性或方法HWND”
请问这是怎么回事,请各位大大给你帮助,小弟先谢谢了!!!
作者: surlary    时间: 2007-8-6 17:29
你是从别人blog上抄过来的吧?
这个方法只能用在IE上,Word不支持,所以那个blog的文章作者用两个文章凑的,没有实践过。
作者: skyhen    时间: 2007-8-6 23:54
我是看别人的BLOG上的,我试过了,IE和EXCEL都可以,就是WORD不可以啊
作者: winfood    时间: 2007-8-7 10:20
原帖由 surlary 于 2007-8-6 17:29 发表
你是从别人blog上抄过来的吧?
这个方法只能用在IE上,Word不支持,所以那个blog的文章作者用两个文章凑的,没有实践过。


唉,真是服气了。
最初的Blog里面这段代码只用于IE的操作,并没有涉及其他的应用程序。当初在Blog上面放这段代码的时候,还故意加上了一些关于每个步骤说明的英文注释。现在被Copy来Copy去,那些英文注释竟然还留在里面。看了以后又好气又好笑。
作者: winfood    时间: 2007-8-7 10:40
原帖由 skyhen 于 2007-8-6 14:34 发表
an IE browser with the method CreateObject()
Dim objIE, hwndIE
Set objIE = CreateObject("word.application")
objIE.Visible = true
'objIE.Navigate URL 'The parameter URL is the destination addr ...

在解决这个问题之前,最好把一些概念弄清楚。不然的话,你就难于理解或者误解各行代码的含义。
HWND不是函数,他是Windows对象(也就是一个应用程序,比如IE,FireFox,Word等等)的一个属性;通过HWND可以取到Windows操作系统为这个应用程序分配的唯一值(Handle)。

最初我在Blog里面写的那段代码仅用于调整IE的尺寸,基本过程就是:
创建IE应用程序,同时取得HWND值;
用描述方式找到IE对应的Window对象(就是说,这里HWND只用于把IE对应的Window对象找到,没有别的用处);
在对象上面执行调整尺寸的操作;
http://www.51testing.com/?4696/action_viewspace_itemid_12121.html

现在解决问题的办法就是先找到你的Word程序对应的Window对象,然后执行调整尺寸的操作。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2