レジストリの指定パス内にある名前と種類を列挙する
WMIというのを使う
Option Explicit
'WMIにて使用する各種オブジェクトを定義・生成する。
Dim oClass
Dim oLocator
Dim oService
Dim oRegName
Dim oRegType
Dim i
Dim sMesStr
Dim sTypeStr
Const HKEY_LOCAL_MACHINE = &H80000002
'ローカルコンピュータに接続する。
Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set oService = oLocator.ConnectServer(, "root\default")
'クエリー条件を WQL にて指定する。
Set oClass = oService.Get("StdRegProv")
oClass.EnumValues HKEY_LOCAL_MACHINE, _
"SOFTWARE\Microsoft\Windows NT\CurrentVersion", oRegName, oRegType
For i = 0 To Ubound(oRegName)
Select Case oRegType(i)
Case 1
sTypeStr = "REG_SZ"
Case 2
sTypeStr = "REG_EXPAND_SZ"
Case 3
sTypeStr = "REG_BINARY"
Case 4
sTypeStr = "REG_DWORD"
Case 7
sTypeStr = "REG_MULTI_SZ"
End Select
sMesStr = sMesStr & oRegName(i) & " : " & sTypeStr & vbCrLf
Next
MsgBox "レジストリの値の名前と種類を列挙します。" & vbCrLf & vbCrLf & sMesStr
'使用した各種オブジェクトを後片付けする。
Set oClass = Nothing
Set oService = Nothing
Set oLocator = Nothing