For Each strSubKey In arrSubKeys intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _ "DisplayName", strValue) If intRet <> 0 Then intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _ "QuietDisplayName", strValue) End If If (strValue <> "") and (intRet = 0) Then WScript.Echo strValue End If Next
いや、単なるレジストリの値を取得するだけのことなんだが Dim rkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall", False) For Each subkeyName As String In rkey.GetSubKeyNames Dim srkey As Microsoft.Win32.RegistryKey = rkey.OpenSubKey(subkeyName, False) Dim objRet = srkey.GetValue("DisplayName") If objRet Is Nothing Then objRet = srkey.GetValue("QuietDisplayName") End If If Not IsNothing(objRet) Then Console.WriteLine(objRet.ToString()) End If Next