这段代码哪里不对啊!!
Private Sub Command1_Click()
Dim ret As Long, phkRet As Long, hkey As Long, name As String, Idx As Long, lname As String, lendata As Byte
Dim typeData As Long, vbNullString As Long, lphkRet As Long, ret1 As Long, ret2 As Long, myindex As Long
Dim lhkey As Long
Idx = 0
name = String(256, Chr(0))
ret = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Uninstall", phkRet)
Do
ret = RegEnumKey(phkRet, Idx, name, Len(name))
If ret = 0 Then
ret1 = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Uninstall" & "\" & name, phkRet)
myindex = 0
lname = String(256, Chr(0))
ret2 = RegEnumValue(phkRet, myindex, lname, ByVal 0, typeData, ByVal vbNullString, lendata, 0)
'List1.AddItem name
List1.AddItem lname
myindex = myindex + 1
Idx = Idx + 1
End If
Loop Until ret <> 0
Label1.Caption = lname
End Sub