获取HWID(processorID,MotherboardSerialNumber)

时间:2016-01-24 19:27:43

标签: vb.net

我正在研究一个项目,而我的问题是,当我尝试将主板序列号完全清空时。

file_get_contents()

HWID - processorid是okey,但我真的想要主板串口,因为之后我将它放入一个字符串并将其发布到远程主机。

为什么我没有"序列号"?谢谢!

1 个答案:

答案 0 :(得分:0)

并非所有数据都适用于所有系统。在这种情况下,在您要查找的文本之前可能存在其他数据,这会阻止提取字符串。 WMI非常慢,所以只需查询你的内容(vs SELECT *)就可以加快速度。

其中一些事情应该用于释放资源,你应该检查一些事情,以确保它们在使用之前不是null:

Dim mboardstr As String = ""
Dim query As String = "Select SerialNumber From Win32_BaseBoard"

Using mbs As ManagementObjectSearcher = New ManagementObjectSearcher(query)
    For Each mo As ManagementObject In mbs.Get
        For Each pd As PropertyData In mo.Properties
            ' should be only one
            If pd.Name = "SerialNumber" Then
                ' value is object, test for Nothing
                If pd.Value IsNot Nothing Then
                    mboardstr = pd.Value.ToString
                End If
                Exit For
            End If
        Next
    Next
End Using

您还可以设置断点,并检查pd.Value以查看是否存在前导nuls或其他不可打印的控制字符(非常常见)。你所追求的可能是"背后"它们。