Click here to Skip to main content
15,888,984 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
My company has a PC application that pulls the motherboard serial number to use as a form of software protection. We're adding some new customers who use Toughbooks (Specifically the CF29 and CF30) and instead of getting a serial number they get the the string "none".

We did quite a bit of testing and researching when deciding to use the motherboard serial number as our unique computer ID. The processor ID did not seem to be unique. The network ID (MAC address) was also deemed unreliable, as the user could have multiple and, if I recall correctly, would return different values when connections were shut down.

Does anyone know of a fix that would allow us to pull the motherboard serial number from a Toughbook?

Is there some other identifier that we just didn't find in our research that can be guaranteed to be pullable regardless of the type of computer or motherboard?

Here is the code we've been using to pull the motherboard serial number:
VB
Public Function GetMotherBoardSerialNumber() As String
    Dim strReturn As String = String.Empty
    Dim objList As Object, obj As Object
    Try
        objList = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_BaseBoard")
        For Each obj In objList
            strReturn = obj.SerialNumber
        Next
    Catch ex As Exception
        strReturn = String.Empty
        MsgBox(ex.Message)
    End Try

    Return strReturn
End Function
Posted
Comments
Richard MacCutchan 29-Jul-10 12:13pm    
Sorry I misunderstood your code and thought I had found an alternative. I guess the problem is down to the PC motherboard actually providing the information in the first place.
Kschuler 29-Jul-10 12:16pm    
Thats okay. Thanks for trying to help. I just can't seem to find any info about how to get around it when the motherboard doesn't provide it...the customers say the are able to get the number from some other software so there must be a way. Thanks again for looking.

1 solution

Did you this article, look promising and you could use it to find a unique system value that works on all system.

How To Get Hardware Information (CPU ID, MainBoard Info, Hard Disk Serial, System Information , ...)[^]

Good luck!
 
Share this answer
 
Comments
Kschuler 29-Jul-10 13:59pm    
Yes I found that article...and I'm already using WMI in a similar way to retrieve the Motherboard serial number. I just don't know of a different number that is unique or of an alternative way to get the motherboard serial number. Thanks for looking and please let me know if you think of anything else I can try.
E.F. Nijboer 29-Jul-10 14:06pm    
I just saw that my GigaByte mobo also does not show a serialnumber although all the other items in the list do all have values. Look at the Win32_ComputerSystemProduct under the system info tab ;-) I found my mobo id I guess...
Kschuler 29-Jul-10 15:23pm    
That UUID does look promising. Thanks for the help!
Kschuler 13-Aug-10 10:32am    
Reason for my vote of 5
The UUID seems to be working as a unique number so far. Thanks for you help.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900