1,105,409 Community Members

serial code

Member Avatar
Alessandrorenzi
Newbie Poster
11 posts since Apr 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Hi,
How can I do to get motherboard and processor serial number in VB6?
I am able to get HD serial number with this code:

Option Explicit
Private Type DRIVEINFO
    HDDSerialNum As String
End Type
Private Sub Form_Load()
Dim info As DRIVEINFO
Dim objs As Object
Dim obj As Object
Dim WMI As Object
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.instancesof("Win32_PhysicalMedia")
For Each obj In objs
    info.HDDSerialNum = obj.serialnumber
Next obj
End Sub

Can you help me?
Thank.

Member Avatar
AndreRet
Industrious Poster
4,492 posts since Jan 2008
Reputation Points: 362 [?]
Q&As Helped to Solve: 499 [?]
Skill Endorsements: 24 [?]
 
1
 

The following function gets a WMI object and then gets a collection of WMI_BaseBoard objects representing the system's mother boards. It loops through them getting their serial numbers.

Private Function SystemSerialNumber() As String
Dim mother_boards As Variant
Dim board As Variant
Dim wmi As Variant
Dim serial_numbers As String

    ' Get the Windows Management Instrumentation object.
    Set wmi = GetObject("WinMgmts:")

    ' Get the "base boards" (mother boards).
    Set mother_boards = wmi.InstancesOf("Win32_BaseBoard")
    For Each board In mother_boards
        serial_numbers = serial_numbers & ", " & _
            board.SerialNumber
    Next board
    If Len(serial_numbers) > 0 Then serial_numbers = _
        Mid$(serial_numbers, 3)

    SystemSerialNumber = serial_numbers
End Function

The following code gets a WMI object and selects Win32_Processor objects. It loops through them getting their processor IDs.

Private Function CpuId() As String
Dim computer As String
Dim wmi As Variant
Dim processors As Variant
Dim cpu As Variant
Dim cpu_ids As String

    computer = "."
    Set wmi = GetObject("winmgmts:" & _
        "{impersonationLevel=impersonate}!\\" & _
        computer & "\root\cimv2")
    Set processors = wmi.ExecQuery("Select * from " & _
        "Win32_Processor")

    For Each cpu In processors
        cpu_ids = cpu_ids & ", " & cpu.ProcessorId
    Next cpu
    If Len(cpu_ids) > 0 Then cpu_ids = Mid$(cpu_ids, 3)

    CpuId = cpu_ids
End Function
Member Avatar
Alessandrorenzi
Newbie Poster
11 posts since Apr 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

PERFECT! Thank you very much!!!

Question Answered as of 1 Year Ago by AndreRet
Member Avatar
AndreRet
Industrious Poster
4,492 posts since Jan 2008
Reputation Points: 362 [?]
Q&As Helped to Solve: 499 [?]
Skill Endorsements: 24 [?]
 
0
 

Only a pleasure. Happy coding...

You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article