lyj841120 发表于 2009-9-21 19:31:13

在QTP中使用VBScript语句如何取得当前窗口对象

我想用CaptureBitmap截图,但是不是桌面而是活动窗口。怎么才能取得当前活动窗口对象呢?
在网上怎么也查不到,难道VBScript没有直接提供函数吗?查QTP和VBS的帮助文档,也是没有线索。
快下班了,用我同事的id发帖求助,请高手们不吝赐教,万分感谢!

ermine 发表于 2009-9-21 20:13:02

路过。。没看懂什么意思。。
你程序会随机弹出窗口,然后要QTP找到这个窗口对象?

lyj841120 发表于 2009-9-22 09:43:20

是的。VB里面用GetForegroundWidnow,VC里面用GetActiveWindow,不知道VBScript里面有没有相应的函数。

ermine 发表于 2009-9-22 12:55:26

不晓得你知道窗口的类名不?VBS中有个getobject的。

Dim a
Set a=GetObject(,"excel.application")
MsgBox a.cells(1,1)

Set a =nothing

ermine 发表于 2009-9-22 12:56:39

如果开了2个Excel,会弹出最后激活的那个。
你可以试一下行不行

月上百合 发表于 2009-9-22 13:37:46

我给你搬个家,

chooseyou123 发表于 2009-9-22 22:54:28

Set wshell = WScript.CreateObject("wscript.shell")
wshell.run "notepad"
wshell.Run("D:\Progra~1\QQ2008\Bin\QQ.exe")
WScript.Sleep 1000
wshell.AppActivate "无标题 - 记事本"      '激活此窗口为当前窗口


还有一个函数,不过要获得句柄
Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount)

[ 本帖最后由 chooseyou123 于 2009-9-22 23:40 编辑 ]
页: [1]
查看完整版本: 在QTP中使用VBScript语句如何取得当前窗口对象