ネタ元 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=37378&forum=7
インストール済みアプリ一覧を取得するにはどうすればよいか?
非常に興味があったので、ちゃっぴさんととっちゃんさんの回答を元に、やってみました。
Software\Microsoft\Windows\CurrentVersion\Uninstall なるパスの存在を初めて知りました。
インストール済みアプリ情報はここにあったんですね。勉強になりました。
実験環境は VB.NET2005 です。
インストール済みアプリ一覧を取得する
Private Const UNINST_PATH As String = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim regkey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(UNINST_PATH, False)
ListView1.Clear()
For Each s As String In regkey.GetSubKeyNames
Dim regkey2 As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(UNINST_PATH & "\" & s, False)
Dim DisplayName As String = regkey2.GetValue("DisplayName")
If Not DisplayName Is Nothing Then
Dim DisplayIcon As String = regkey2.GetValue("DisplayIcon")
Dim itemx As New ListViewItem
itemx.Text = DisplayName
itemx.SubItems.Add(DisplayIcon)
ListView1.Items.Add(itemx)
End If
Next
End Sub