HIRO's.NET Blog

PowerShellが好き

目次

Blog 利用状況

ニュース

あわせて読みたい

書庫

日記カテゴリ

リンク

インストール済みアプリ一覧を取得する

ネタ元 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
    '"Software\Microsoft\Windows\CurrentVersion\Uninstall"を取得
    Dim regkey As Microsoft.Win32.RegistryKey = _
        Microsoft.Win32.Registry.LocalMachine.OpenSubKey(UNINST_PATH, False)

    'ListViewの初期化
    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")

        'DisplayNameがあるときだけListViewへ追加する
        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

投稿日時 : 2007年3月22日 0:11

コメントを追加

# re: インストール済みアプリ一覧を取得する 2007/03/23 1:32 ちゃっぴ

ちょっと調査したところ、appwiz.cpl は COM のようですね。
# Undocumentted なので使うには勇気がいるでしょうが。

ただ、VB からだと直接扱えない COM なので、C++ とか使ってやる必要がありそうですけど。

.NET でも P/Invoke 使ってやればできないことなさそうですね。

# re: インストール済みアプリ一覧を取得する 2007/03/23 8:42 HIRO

>.NET でも P/Invoke 使ってやればできないことなさそうですね。

そうなんですね。
ちょっと調べてみたいと思います。情報ありがとうございます。

# re: インストール済みアプリ一覧を取得する 2007/04/03 18:14 Jitta

InstallShield だと、Program Files の下にもあったりする。

あ!だから昇格が必要なんだ、コイツ。しょうがないなぁ(>_<)

# インストール済みアプリ一覧を取得する(VB.NET Tips) 2008/03/20 21:03 HIRO's.NET Blog

この記事は2007/03/22にわんくまBlog( http://blogs.wankuma.com/hiro/archive/2007/03/22/68250.aspx ) に書いたものです ネタ元

タイトル
名前
URL
コメント