小扁 发表于 2013-11-21 15:34:01

求问使用VB如何获得QTP的安装路径?

最近写的VB程序里面,希望实现一个功能,点击某个按钮后,打开QTP自带的查看报告的工具,所以需要用到QTP的安装路径,希望大神们能支个招~
有考虑过引入QuickTest自动化模型对象,但好像没有获得安装路径或打开查看报告工具的方法
还有考虑过通过读取注册表获得QTP安装路径,但QTP好像没有将安装信息写入到注册表中

ermine 发表于 2013-11-21 17:10:20

回复 1# 小扁

1. 用AOM获取QTP的环境变量
    set qtapp=CreateObject("QuickTest.Application")
    msgbox qtApp.Test.Environment.Value("ProductDir")
    set qtapp=Nothing
   
2. 注册表里是有的, 你可以搜“QuickTest.Application”,会拿到QTAutomationAgent.exe的地址,然后就能获取QTP所在目录
我的64位机器

@="\"F:\\Program Files (x86)\\HP\\QuickTest Professional\\bin\\QTAutomationAgent.exe\""

小扁 发表于 2013-11-21 19:49:12

回复 2# ermine


    两种我都试了下,第一种方法要启动QTP才能获取到,第二种我找了几遍都没找到写安装路径的注册表,还有没有别的办法呢T-T

小扁 发表于 2013-11-21 20:16:42

Private Sub Command_readreport_Click()
    Dim objShell As Object
    Dim qtpPath As String
    Dim reporterPath As String
    Set objShell = CreateObject("wscript.shell")
    qtpPath = objShell.regread("HKEY_CLASSES_ROOT\Applications\QTPro.exe\shell\open\command")
    MsgBox qtpPath
End Sub

提示说:无法打开注册表键值进行读取

ermine 发表于 2013-11-22 09:24:39

回复 3# 小扁

第二种是QTP注册的组件地址,如果你能通过set qtapp=CreateObject("QuickTest.Application")启动QTP,理论上就应该有的。

3. 还是注册表

"QuickTest Professional"="F:\\Program Files (x86)\\HP\\QuickTest Professional"

PS:我的机器是64位,如果是32位的机器,应该在
(不确定)

小扁 发表于 2013-11-22 14:47:08

回复 5# ermine


    是这样的,我之前找错地方了,太谢谢了!已经成功的解决了问题
页: [1]
查看完整版本: 求问使用VB如何获得QTP的安装路径?