[[開発メモ/Windows]]
#codeprettify(linenums:1){{
strHost = "."
Const HKLM = &H80000002
'アンインストール情報
'(「プログラムの追加と削除」に表示される)
'の入ったレジストリパス
Const strBaseKey = "Software\Microsoft\Windows\CurrentVersion\Uninstall\"
'レジストリのサブキーを取得するために、
'WMIのStdRegProvを使用する
Set objReg = GetObject("winmgmts://" & strHost & "/root/default:StdRegProv")
'レジストリパスから、サブキーを取得
objReg.EnumKey HKLM, strBaseKey, arrSubKeys
'サブキーを一つ一つ取り出して、
'プログラム名を表示する
strInsList = ""
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
strInsList = strInsList & strValue &vbCrLf
End If
Next
Dim FSO
Dim oLog
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oLog = FSO.CreateTextFile(".\uninstall.txt")
oLog.WriteLine(strInsList)
oLog.Close()
Set oLog = Nothing
Set FSO = Nothing
WScript.echo "完了"
}}