51Testing软件测试论坛

标题: QTP能否调用API函数 [打印本页]

作者: 梦醒十分    时间: 2006-7-12 12:29
标题: QTP能否调用API函数
这是Testcomplete调用API一段:
Sub StopKeyMouse  
    Set Def_DLL = DLL.DefineDLL("USER32")  
    Def_Proc = Def_DLL.DefineProc("BlockInput", vt_b1, vt_b1)   
    Set Lib = DLL.Load("USER32.DLL", "USER32")  
    Lib.BlockInput(True)
End Sub
它的作用是锁住键盘和鼠标。DLL是它内置的对象。

我想知道QTP能否调用API函数,来做一些按键上的操作,如能,请给些例子。
我找了QTP/Lib好像没发现什么?
作者: xiaonan    时间: 2006-7-12 13:24
如何在QTP中使用API?
'声明FindWindow方法
Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString
'Declare SetWindowText method
Extern.Declare micLong, "SetWindowText", "user32.dll", "SetWindowTextA", micHwnd, micString
作者: 梦醒十分    时间: 2006-7-12 14:30
谢谢版主,这个能在帮助查到吗?
能写些实例来看看吗?
作者: xiaonan    时间: 2006-7-12 14:50
在帮助里是有关于的API的内容的,你可以看一下
作者: 梦醒十分    时间: 2006-7-12 16:44
谢谢版主。
在Test forum找到一个贴子:QTP运行后锁键盘和鼠标。
Extern.Declare micLong, "BlockInput", "user32.dll", "BlockInput", micLong

' Use the following statement to lock keyboard and mouse input at the
' beginning of the test:
Extern.BlockInput 1
wait(5)
' Use the following statement to unlock keyboard and mouse input at the
' end of the test:
Extern.BlockInput 0

*******************************
'自己写了两个:
'例1:运行一个exe文件
Extern.Declare micLong, "WinExec", "kernel32.dll", "WinExec", micString,micLong
Extern.WinExec "d:\1.exe ", 1
'例2:Beep
Extern.Declare micLong, "Beep", "kernel32.dll", "Beep", micLong  
Extern.Beep 500
'它让我的机器在办公室里狂响不止!

接下来要研究关于Click同时按下Ctrl键是否能用API来解决成功。
作者: amwggyy504    时间: 2006-7-12 17:25
哦,真好,还能写函数。不错。
作者: xiaonan    时间: 2006-7-12 17:35
呵呵,强烈支持,让大家一起来分享你的研究成果.




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