Quelle: MSDN-Artikel
Option Explicit
Const HKEY_CURRENT_USER = &H80000001
Const strPath As String = _
"Software\Microsoft\Windows\CurrentVersion\Themes"
Sub Letzter_Wert()
Dim objRegistry As Object
Dim arrValue As Variant
Dim arrName As Variant
Dim arrType As Variant
On Error GoTo Fin
Set objRegistry = GetObject _
("winmgmts:\\.\root\default:StdRegProv")
objRegistry.EnumValues HKEY_CURRENT_USER, _
strPath, arrName, arrType
Debug.Print arrName(Ubound(arrName))
objRegistry.GetSTRINGValue HKEY_CURRENT_USER, _
strPath, arrName(Ubound(arrName)), arrValue
Debug.Print arrValue
Fin:
Set objRegistry = Nothing
End Sub
Sub Letzte_drei_Werte()
Dim objRegistry As Object
Dim varValue As Variant
Dim varName As Variant
Dim varType As Variant
Dim lngTMP As Long
Dim bytTMP As Byte
On Error GoTo Fin
Set objRegistry = GetObject _
("winmgmts:\\.\root\default:StdRegProv")
objRegistry.EnumValues HKEY_CURRENT_USER, _
strPath, varName, varType
For lngTMP = Ubound(varName) To Lbound(varName) Step -1
bytTMP = bytTMP + 1
If bytTMP = 4 Then Exit For
Debug.Print varName(lngTMP)
objRegistry.GetSTRINGValue HKEY_CURRENT_USER, _
strPath, varName(lngTMP), varValue
Debug.Print varValue
Next lngTMP
Fin:
Set objRegistry = Nothing
End Sub