VBscript - 读取多个注册表值

时间:2012-06-12 08:57:43

标签: vbscript registry wmi

我无法让我的VBscript读取每个Firefox插件的版本号。这些插件位于HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins。每个都在一个单独的文件夹中,每个文件夹都包含一个键Version,其中包含我要查找的值(Screenshot以使其更清晰)。我知道我需要使用wmi,但我认为生病需要一个循环遍历每个文件夹。我正在使用this链接来帮助我,但我一直迷路。

我们将非常感谢您提供任何帮助或进一步的信息。如果这个问题问得不好,我很抱歉,我的VBscripting技能非常有限。如果是这样,请发表评论,然后尝试并提供更多信息。

1 个答案:

答案 0 :(得分:1)

下次请发布您已经拥有的内容,尽可能少。 这是我刚刚制作的剧本

on error resume next
dim aKeys, version
Const HKEY_CURRENT_USER = &H80000001, HKEY_LOCAL_MACHINE = &H80000002
set oShell    = WScript.CreateObject("WScript.Shell")
set objreg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "Software\MozillaPlugins"
'read subkeys in array aKeys
objreg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, aKeys
for each subkey In aKeys
  'read from version key if available
  version = oShell.RegRead("HKEY_LOCAL_MACHINE\" & strKeyPath & "\" & subkey & "\version")
  if version = "" then
    'perhaps version info in keyname itself ?
    version = split(split(subkey,"version=")(1),",")(0)
  end if
  if version = "" then
    version = "no version info available"
  end if
  wscript.echo split(subkey,",")(0) & ": " & version
  version = ""
next

在我的系统上给出

@adobe.com/FlashPlayer: 10.0.45.2
@docu-track.com/PDF-XChange Viewer Plugin: 1.0
@java.com/JavaPlugin: 160_23
@Microsoft.com/NpCtrl: 4.1
@microsoft.com/WPF: 3.5
@tracker-software.com/PDF-XChange Viewer Plugin: 1.0
@View22/View22: 3.10.50
Adobe Reader: 10.1.0