如何使用vbscript读取注册表项的所有值?

时间:2010-11-03 02:18:34

标签: vbscript registry

我的注册表中有以下值

键:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents\

值:

* -> application/msword
** -> application/vnd.ms-excel
*** -> application/vnd.ms-powerpoint

等等

我想知道如何阅读所有这些

Wscript.Shell RegRead 我只能读取一个值,但我事先并不知道这些值... < / p>

1 个答案:

答案 0 :(得分:1)

嗯,我明白了

我不得不使用wmi,就像这样:

option explicit

const HKLM = &H80000002

dim keyPath
keyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents"

dim reg

dim valueNames, types
dim value
dim i

  set reg = getObject( "Winmgmts:root\default:StdRegProv" )

  if reg.enumValues( HKLM, keyPath, valueNames, types ) = 0 then
    if isArray( valueNames ) then
      for i = 0 to UBound( valueNames )
        reg.getStringValue HKLM, keyPath, valueNames(i), value
        msgBox( valueNames(i) & "=" & value )
      next
    end if
  end if

saludos

SAS