在VB.net中获取硬件制造商和系统型号?

在VB.net中获取硬件制造商和系统型号?,vb.net,system-information,Vb.net,System Information,我正在尝试使用vb.net获取硬件制造商(如Dell)和型号(如Latitude E6320),但我没有运气 我试过了 Dim opSearch As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem") Dim opInfo As ManagementObject For Each opInfo In opSearch.Get() Return opInfo("manufacturer").ToStrin

我正在尝试使用vb.net获取硬件制造商(如Dell)和型号(如Latitude 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

尽管这返回的是Microsoft Corporation而不是Dell。

请在控制台应用程序中尝试一下。请记住将System.Management引用添加到项目中。您需要访问Win32_计算机系统,而不是Win32_操作系统

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

希望有帮助。

在控制台应用程序中尝试一下。请记住将System.Management引用添加到项目中。您需要访问Win32_计算机系统,而不是Win32_操作系统

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

希望有帮助。

您轮询的WMI类/配置单元错误。当然,微软是操作系统制造商;您需要的是Win32_计算机系统:

制造商将有点像戴尔公司(Dell,Inc.),型号与我的产品一模一样,但众所周知,有时会包含内部子型号标识符。系统类型恢复为基于x64的个人计算机


MS的某个地方有一个WMI查询生成器来帮助fnd和使用正确的查询,尽管它生成了非常冗长的代码。

您轮询了错误的WMI类/配置单元。当然,微软是操作系统制造商;您需要的是Win32_计算机系统:

制造商将有点像戴尔公司(Dell,Inc.),型号与我的产品一模一样,但众所周知,有时会包含内部子型号标识符。系统类型恢复为基于x64的个人计算机


MS的某个地方有一个WMI查询生成器来帮助fnd和使用正确的查询,尽管它会生成非常冗长的代码。

永远不要低估PC供应商的捷径能力。这是一个重要的生存战略,当它涉及到与亚洲竞争的便士。对于程序员来说,永远不要高估一个更有价值的while项目。永远不要低估个人电脑供应商的偷工减料能力。这是一个重要的生存战略,当它涉及到与亚洲竞争的便士。永远不要高估程序员可以从事的更有价值的while项目。@rabbit,我还应该提到CodeProject有一个SysInfo类型的应用程序,它显示所有WMI系统值。它有点过时,因为它在XP或Vista上停止,但它很有用,因为它至少有当时的所有键、属性和类。将链接留给WMI查询生成器,因为我最近发现这个答案很有用,并进行了搜索:@rabbit,我还应该提到CodeProject有一个SysInfo类型的应用程序,它显示所有WMI系统值。它有点过时,因为它停止于XP或Vista,但它很有帮助,因为它至少有截至那时的所有键、属性和类。将链接留给WMI查询生成器,因为我最近发现这个答案很有帮助,并进行了搜索: