C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 51 を表示中)
■28023 / )  C#でのWMI情報取得
□投稿者/ 駆け出し (1回)-(2008/11/18(Tue) 23:28:31)

分類:[C#] 

下のようなサンプルコードをC#に直したいのですが行き詰ってます



Dim AvpSet As SWbemObjectSet
Dim Avp As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(, "Root\SecurityCenter")

Set AvpSet = Service.ExecQuery("Select * From AntiVirusProduct")

For Each Avp In AvpSet

MesStr = MesStr & vbCrLf & "製造元:" & Avp.CompanyName & vbCrLf & _
"アンチウイルスソフト名:" & Avp.DisplayName & vbCrLf & _
"バージョン:" & Avp.versionNumber & vbCrLf
Next

MsgBox "インストールされているアンチウイルスソフトの情報です。" & _
vbCrLf & MesStr & vbCrLf & "ですよ。"

Set AvpSet = Nothing
Set Avp = Nothing
Set Locator = Nothing
Set Service = Nothing


______________________________________________________________



ManagementClass managementClass = new ManagementClass("Root\\SecurityCenter\\AntiVirusProduct");
ManagementObjectCollection managementObj = managementClass.GetInstances();

としてみたり、

ConnectionOptions option = new ConnectionOptions();
ManagementScope scope = new ManagementScope("Root\\SecurityCenter");
ObjectQuery query = new ObjectQuery("SELECT * FROM AntiVirusProduct");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope,query);
ManagementObjectCollection moCollection = searcher.Get();

としてみましたが、何も値を取れませんでした。
やり方が根本的に違うのか、単純にManagementClassやManagementScopeの()の中の設定がおかしいのか分かりません。
アドバイスよろしくお願いします。
返信 編集キー/


管理者用

- Child Tree -