VB.NETでWMIの名前空間とクラスの一覧を取得する

前回の予告通り、WMIの名前空間とクラスの一覧を取得する方法です。

前回の記事はこちらから

名前空間の一覧を取得する

            Dim nsClass As New ManagementClass
            nsClass.Scope.Path.NamespacePath = "root"
            nsClass.Path.Path = "__namespace"

            For Each ns As ManagementObject In nsClass.GetInstances()
                'ns("Name")
            Next ns

以上です、「ns("Name")」を配列に入れてやれば一覧取得完了

ここで取得した名前空間を下記のコードの「strNameSpace」に渡すことで、その名前空間で利用可能なWMIクラス名の一覧を取得できます。

クラス名一覧取得

            Dim searcher As New ManagementObjectSearcher
            searcher.Scope.Path.NamespacePath = "root/" + strNameSpace
            searcher.Query.QueryString = "select * from meta_class"

            For Each wmiClass As ManagementClass In searcher.Get()
                'wmiClass("__CLASS")
            Next wmiClass

以上、ね、簡単でしょ?
それぞれTry-Catchで過去ってあげてくだしあ

突然ですがはてな記法の「AA記法」を試したいので唐突ですが何かAAを貼りたいと思います

               |\\       //|
            。 O :  ,> `´ ̄`´ <  ′
          ゜  。 \ V            V    ゜
          -  .。 /          i   @ 。
        ,  ゜ 0 ─ {   ●      ● .| / 。  ,'´ ̄ ̄`',
         ゜ ,,、,r-'⌒l     、_,_,   / o    ,! ハ ハ !
      。 ゜ r-'⌒`ー-'´ヾ,.       / 。 .゜  l フ ム l
        ヾヽ、_,,,、-、/ミ,ヽヽ/ ノ_,-イ-、\   ∠  ハ ッ j
          ー = ^?、 ̄/´ ̄`\、  〃ヾ ゜  ヽ フ   /
 jヽjvi、人ノl__     / / V          <`'''-ヽヾ  ` ̄ ̄
 )   ハ   7      / i{ ●       }ii'-、_,,ン ノ 。
 )   フ    て   /  八  、_,_, ● 八  - ニ
 7   ッ    (  __ヽ、__ 个 . _  __,-=-,___ 

横幅広すぎてズレすぎってレベルじゃねーぞ!!
デザイン変更、ちゃんと表示されるようになった。