ホーム » ブログ » VBでPCにインストール済のソフトウェア一覧を取得
このエントリーをはてなブックマークに追加
@2017/08/29

スポンサーリンク

Set oClassSet = oService.ExecQuery("Select * From Win32_Product)
ここのWin32_ProductはMSI でインストールされる製品を表します。
さらに、この一覧でソフト名称が「Microsoft」を含むソフトを取り出したい場合、下記のようにWQLを書く。

Set oClassSet = oService.ExecQuery("Select * From Win32_Product Where Name Like '%Microsoft%'")
以下はサンプルコードです。コピーペし、xxxxx.vbsに保存したら、実行してみてくださいね。


'*****************************************************
'* --MSIでインストール済みのアプリ一覧を表示方法
'* 	-例:Microsoftソフトがインストールされたかを確認
'*    Author: MaTao
'*****************************************************
Option Explicit

'WMIにて使用する各種オブジェクトを定義・生成する。
Dim oClassSet
Dim oClass
Dim oLocator
Dim oService
Dim sMesStr '表示メッセージ

'ローカルコンピュータに接続する。
Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set oService = oLocator.ConnectServer
'クエリー条件を WQL にて指定する。
' インストール済みのソフトから取り出し
'Set oClassSet = oService.ExecQuery("Select * From Win32_SoftwareFeature Where Caption Like '%Microsoft%'")
' MSIでインストールされたアプリから取り出し
Set oClassSet = oService.ExecQuery("Select * From Win32_Product Where Name Like '%Microsoft%'")

'コレクションを解析する。
For Each oClass In oClassSet

sMesStr = sMesStr & oClass.Name & " v" & oClass.Version & vbCrLf

Next

MsgBox "MSI でインストールされた製品に関する情報です。" & vbCrLf & vbCrLf & sMesStr

'使用した各種オブジェクトを後片付けする。
Set oClassSet = Nothing
Set oClass = Nothing
Set oService = Nothing
Set oLocator = Nothing



♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
1人
このエントリーをはてなブックマークに追加


★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

check