- WMI Fun !! -|WMI StepWMI SampleSearchWMI Fun !! GroupsAbout WMI Fun !!
Top Page >> WMI Step >> コンピュータの種類を取得する
コンピュータの種類を取得する
Topics

コンピュータの種類(ノートとかデスクトップとか)を取得するサンプルです。Win32_SystemEnclosureクラスを使用します。


Sample Code

Private Sub Command1_Click()

Dim SeSet As SWbemObjectSet
Dim Se As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String
Dim I As Long

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer

Set SeSet = Service.ExecQuery _
    ("Select * From Win32_SystemEnclosure")

For Each Se In SeSet

    For I = Lbound(Se.ChassisTypes) To Ubound(Se.ChassisTypes)
        
        Select Case Se.ChassisTypes(i)
            
            Case 1:
                MesStr = MesStr & "Other" & vbCrLf
            Case 2:
                MesStr = MesStr & "Unknown" & vbCrLf
            Case 3:
                MesStr = MesStr & "Desktop" & vbCrLf
            Case 4:
                MesStr = MesStr & "Low Profile Desktop" & vbCrLf
            Case 5:
                MesStr = MesStr & "Pizza Box" & vbCrLf
            Case 6:
                MesStr = MesStr & "Mini Tower" & vbCrLf
            Case 7:
                MesStr = MesStr & "Tower" & vbCrLf
            Case 8:
                MesStr = MesStr & "Portable" & vbCrLf
            Case 9:
                MesStr = MesStr & "Laptop" & vbCrLf
            Case 10:
                MesStr = MesStr & "Notebook" & vbCrLf
            Case 11:
                MesStr = MesStr & "Hand Held" & vbCrLf
            Case 12:
                MesStr = MesStr & "Docking Station" & vbCrLf
            Case 13:
                MesStr = MesStr & "All in One" & vbCrLf
            Case 14:
                MesStr = MesStr & "Sub Notebook" & vbCrLf
            Case 15:
                MesStr = MesStr & "Space -Saving" & vbCrLf
            Case 16:
                MesStr = MesStr & "Lunch Box" & vbCrLf
            Case 17:
              MesStr = MesStr & "Main System Chassis" & vbCrLf
      Case 18:
        MesStr = MesStr & "Expansion Chassis" & vbCrLf
      Case 19:
        MesStr = MesStr & "SubChassis" & vbCrLf
      Case 20:
        MesStr = MesStr & "Bus Expansion Chassis" & vbCrLf
      Case 21:
        MesStr = MesStr & "Peripheral Chassis" & vbCrLf
      Case 22:
        MesStr = MesStr & "Storage Chassis" & vbCrLf
      Case 23:
        MesStr = MesStr & "Rack Mount Chassis" & vbCrLf
      Case 24:
        MesStr = MesStr & "Sealed-Case PC" & vbCrLf
      
    End Select
      
  Next

Next

MsgBox "コンピュータの種類は、" & vbCrLf & _
      vbCrLf & MesStr & vbCrLf & "ですよ。"

Set SeSet = Nothing
Set Se = Nothing
Set Locator = Nothing
Set Service = Nothing

End Sub

Comment

実際実行するとコンピュータがどんな種類なのか表示されます。 ChassisTypesプロパティは配列になっているため一応対応した形に記述してありますが今まで実行した限り値は一つしか入らないようです。ちなみに私自身で試したマシンの結果を書いておきます。

・Panasonic CF-B5ER : 14
・COMPAQ DeskPro EC 650 : 3
・DELL PowerEdge 1300: 6

他にもこんなマシンではこういう値が帰ってきたよという結果を教えていただければここにどんどん記述して行こうと思います。


WMI を本で勉強したい方へ。 Windows PowerShellインアクション を読んでみては?
なかなか WMI のことが乗っている書籍は少ないですが…管理系業務に係る方には楽しめるかも?
パソコンで目が疲れたら、ブルーベリーアイ
『ブルーベリーアイ』1粒中ビルベリーエキス160mg【楽天シニア市場】
 ^ Copyright(C) 1997-2008 とお All rights reserved. <<