【问题标题】:Get hardware manufacturer and system model number in VB.net?在 VB.net 中获取硬件制造商和系统型号?
【发布时间】:2014-04-01 21:48:21
【问题描述】:

我正在尝试使用 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”。

【问题讨论】:

  • 永远不要低估 PC 供应商偷工减料的能力。当涉及到与亚洲竞争的便士时,这是一项重要的生存策略。永远不要高估一个对程序员来说更有价值的项目。

标签: vb.net system-information


【解决方案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

制造商将类似于“Dell, Inc”,模型与我的一致,但已知有时会包含内部子模型标识符。我的系统类型返回为“基于 x64 的 PC”。

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

【讨论】:

  • @rabbit,我还应该提到 CodeProject 有一个 SysInfo 类型的应用程序,它显示 所有 WMI 系统值。它停在 XP 或 Vista 上有点过时,但它很有帮助,因为它具有所有键、属性和类(至少在当时)。
  • 留下 WMI 查询生成器的链接,因为我最近发现这个答案很有帮助并进行了搜索:microsoft.com/en-us/download/details.aspx?id=8572
【解决方案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

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2016-08-28
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    相关资源
    最近更新 更多