我想用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
虽然这将返回“微软公司”而不是“戴尔”。
您查询了错误的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查询生成器的地方,以帮助测量值和使用权的查询,但它会产生很罗嗦的代码。
给这个在控制台应用程序一试。 只记得到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
希望能帮助到你。