VBS(VBScript)によるCOMコンポーネントのDLLファイルを取得する方法を紹介
WMIを使って、COMコンポーネントのDLLファイルを取得(コンポーネントID、名前、DLLファイルを取得)
サンプルソース
※取得可能なプロパティ(情報)は、以下手順で取得可能⇒WMIのクラス・プロパティ一覧の確認
※「型が一致しません」のエラーが出る場合⇒VBSのWMIの出力で、型が一致しませんのエラーが出る場合
(入力:cscript)
Dim qu,cl,swbe,service,sms1,sms2,sms3
Set swbe = WScript.CreateObject("WbemScripting.SWbemLocator")
Set service = swbe.ConnectServer
Set qu = service.ExecQuery("Select * From Win32_ClassicCOMClassSetting")
For Each cl In qu
sms1 = cl.Caption
sms2 = cl.ComponentId
sms3 = cl.InprocServer32
Wscript.Echo "Caption:" & sms1
Wscript.Echo "ComponentId:"& sms2
Wscript.Echo "InprocServer32:"& sms3
Wscript.Echo
Next
(出力)
・・・・・・・(省略)・・・・・
Caption:ADODB.Record
ComponentId,:{00000560-0000-0010-8000-00AA006D2EA4}
InprocServer32:C:\Program Files\Common Files\System\ado\msado15.dll
Caption:ADODB.Stream
ComponentId,:{00000566-0000-0010-8000-00AA006D2EA4}
InprocServer32:C:\Program Files\Common Files\System\ado\msado15.dll
Caption:ADOX.Catalog.6.0
ComponentId,:{00000602-0000-0010-8000-00AA006D2EA4}
InprocServer32:C:\Program Files\Common Files\System\ado\msadox.dll
Caption:ADOX.Table.6.0
ComponentId,:{00000609-0000-0010-8000-00AA006D2EA4}
InprocServer32:C:\Program Files\Common Files\System\ado\msadox.dll
・・・・(以下続く:省略)・・・
※レジストリ HKEY_CLASSES_ROOT\CLSID でも確認可能。