获得VB.net硬件制造商和系统型号?(Get hardware manufacturer and

2019-10-19 17:54发布

我想用vb.net让硬件制造商(例如,“戴尔”)和型号(例如“纵横E6320”),但我有没有运气。

我试过了

Dim opSearch As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
Dim opInfo As ManagementObject
For Each opInfo In opSearch.Get()
    Return opInfo("manufacturer").ToString()
Next

虽然这将返回“微软公司”而不是“戴尔”。

Answer 1:

您查询了错误的WMI类/蜂巢。 当然,微软是操作系统制造商; 你需要的是Win32_ComputerSystem

Imports System.Management


cs = New ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem")

For Each objMgmt In cs.Get
   _Manufacturer = objMgmt("manufacturer").ToString()
   _Model = objMgmt("model").ToString()
   _SystemType = objMgmt("systemtype").ToString
   _totalMem = objMgmt("totalphysicalmemory").ToString()
Next

厂商将会像“戴尔公司”,模型会发现与我的,但已经知道,有时包括内部子模型标识符。 系统类型回来作为我的“基于x64的PC”。

MS有一个WMI查询生成器的地方,以帮助测量值和使用权的查询,但它会产生很罗嗦的代码。



Answer 2:

给这个在控制台应用程序一试。 只记得到System.Management引用添加到您的项目。 您需要访问的Win32_ComputerSystem不是Win32_OperatingSystem。

Sub Main()
    Dim objCS As Management.ManagementObjectSearcher
    Dim manufacturerName As String

    'objOS = New Management.ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
    objCS = New Management.ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem")

    For Each objMgmt In objCS.Get
        manufacturerName = objMgmt("manufacturer").ToString()
    Next
    Debug.WriteLine("Manufacturer: " & manufacturerName)
End Sub

希望能帮助到你。



文章来源: Get hardware manufacturer and system model number in VB.net?