51Testing软件测试论坛

标题: 请问QTP有没有什么脚本(非手动录制)能改变WINDOWS分辨率? [打印本页]

作者: baizhudan    时间: 2010-5-7 17:40
标题: 请问QTP有没有什么脚本(非手动录制)能改变WINDOWS分辨率?
非手动录制操作步骤,而是直接调用某些WINDOWS函数实现改变分辨率的脚本有吗?
作者: shanxi    时间: 2010-5-7 18:15
肯定要用到OS的函数,那些函数只是用户态的api,调用组合一下就行了
你google一下关键字就能找到。
作者: TIB    时间: 2010-5-7 22:30
下载此dll
[attach]61797[/attach]

然后在QTP中使用以下脚本来修改分辨率
Set var_CreateInstance = DotNetFactory.CreateInstance("ScreenDisplaySetting.ChangeResulution","E:\ScreenDisplaySetting.dll")
var_CreateInstance.ChangeRes 1024,768,60,32 ' 参数分别代表 宽、高、刷新率、颜色质量
Set var_CreateInstance = Nothing
作者: baizhudan    时间: 2010-5-8 21:39
谢谢LS的,请问这个DLL文件是自己写的吗?
作者: TIB    时间: 2010-5-11 15:32
原帖由 baizhudan 于 2010-5-8 21:39 发表
谢谢LS的,请问这个DLL文件是自己写的吗?


是自己写的,当然了,有参考WinAPI方面的一些资料,网上都能找到的
作者: 风雪夜归人    时间: 2010-5-12 18:05
strTempFile = "C:\ScreenSize.txt"
Set oShell = CreateObject("wscript.shell")
oShell.Run "%comspec% /c wmic path win32_displayconfiguration get pelsheight, pelswidth>"& strTempFile , vbHide, True
Set FSO = CreateObject("scripting.filesystemobject")
Set FS = FSO.OpenTextFile(strTempFile, 1, False, -1)
FS.ReadLine
strString = FS.ReadLine
FS.Close

'Use regexp to get height and width
strReg = "(\d+)([^0-9]+)(\d+)"
Set reg = New RegExp
reg.IgnoreCase = True
reg.Pattern = strReg
intHeight = reg.Replace(strString, "$1")
intWidth = reg.Replace(strString, "$3")




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