2015-02-06 2 views
0

Уважаемый сэр, Как получить первый серийный номер материнской платы в этом скрипте?Как получить первый серийный номер материнской платы?

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 

С уважением

Murulimadhav

ответ

2

Я хотел бы использовать соответствующие .Net классов в System.Management пространства имен они будут возвращать ManagmentObjectCollection, что вы можете использовать индекс по возвратить первый экземпляр. К сожалению, с характером этого класса вам все равно нужно использовать позднюю привязку, которая не позволит вам включить Option Strict. Вам нужно будет добавить пространство имен System Management к вашим проектам, а также импортировать их в свой класс.

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 
+1

Уважаемый господин, спасибо за логику, ее работа. – Murulimadhav

+1

@Murulimadhav Добро пожаловать, рад помочь –

+0

@MarkHall Спасибо за код. Вы знаете, почему на некоторых моделях мы получаем только пустую строку? – fedeteka

Смежные вопросы