如何获得第一个可用的主板序列号?

How to get the first available Motherboard's serial number?

尊敬的先生, 如何在此脚本中获取第一个可用主板的序列号?

 Private Function SystemSerialNumber() As String
        ' Get the Windows Management Instrumentation object.
        Dim wmi As Object = GetObject("WinMgmts:")

        ' Get the "base boards" (mother boards).
        Dim serial_numbers As String = ""
        Dim mother_boards As Object = wmi.InstancesOf("Win32_BaseBoard")
        For Each board As Object In mother_boards
            serial_numbers &= ", " & board.SerialNumber
        Next board
        If serial_numbers.Length > 0 Then serial_numbers = serial_numbers.Substring(2)

        Return serial_numbers
    End Function

您忠实的

穆鲁利马达夫

我会在 System.Management Namespace they will return a ManagmentObjectCollection 中使用适当的 .Net classes,您可以在第一个实例中使用 return 的索引。不幸的是,由于此 class 的性质,您仍然需要使用后期绑定,这将使您无法打开 Option Strict。您需要将 System Management 命名空间添加到您的项目引用中,并将其导入您的 class.

Imports System.Management
Public Class Form1
    Public Sub New()

        InitializeComponent()
        TextBox1.Text = SystemSerialNumber()

    End Sub

    Private Function SystemSerialNumber() As String
        Dim value As String = ""
        Dim baseBoard As ManagementClass = New ManagementClass("Win32_BaseBoard")
        Dim board As ManagementObjectCollection = baseBoard.GetInstances()
        If board.Count > 0 Then
            value = board(0)("SerialNumber")
            If value.Length > 0 Then value = value.Substring(2)
        End If            
        Return value

    End Function
End Class