|
QTP如何搜索注册表中特定键值?
例如,具体遇到这样一个问题:
注册表中 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{abcd}\"项下 的
DisplayName键值是"Picasa".
DisplayVersion键值是"2.0".
我想得到的是这个picasa的版本值"2.0",用以下语句即可以得到Version=2.0
-----------------------------------------------------------------------------------------------------
Set WshShell = CreateObject("Wscript.Shell")
Version = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{abcd}\\DisplayVersion")
-----------------------------------------------------------------------------------------------------
但是问题是,一般随着picasa版本的变化,这个注册表的路径也会发生变化,比如,由
"HKEY_LOCAL_MACHINE\...\Uninstall\{abcd}\"
变成
"HKEY_LOCAL_MACHINE\...\Uninstall\{efgh}\" .
此时,"HKEY_LOCAL_MACHINE\...\Uninstall\{efgh}\" 项下的
DisplayVersion键值变成是"3.0".
而DisplayName键值依然是固定的"Picasa".
现在问各位QTP高手达人,如何实现在"HKEY_LOCAL_MACHINE\...\Uninstall\"下搜索到
包含键名=DisplayName,键值="Picasa"的 注册表项
"HKEY_LOCAL_MACHINE\...\Uninstall\{abcd}\"
或者
"HKEY_LOCAL_MACHINE\...\Uninstall\{efgh}\" ?
从而不管"HKEY_LOCAL_MACHINE\...\Uninstall\{abcd}\"中的{abcd}怎么变化,
都能获取到 Version = DisplayVersion的键值 ? |
|