Not sure about the mother board serial number but here's a simple way to get HDD SN using GetVolumeInformation API.
All u'll need is a commandButton and a textBox for this one.
Compile to exe and move it around different drives to get the drive's S N.
Hope it helps...

VB Code:
  1. Option Explicit
  2. Private Declare Function GetVolumeInformation Lib "kernel32" Alias _
  3.                     "GetVolumeInformationA" _
  4.                     (ByVal lpRootPathName As String, _
  5.                     ByVal lpVolumeNameBuffer As String, _
  6.                     ByVal nVolumeNameSize As Long, _
  7.                     lpVolumeSerialNumber As Long, _
  8.                     lpMaximumComponentLength As Long, _
  9.                     lpFileSystemFlags As Long, _
  10.                     ByVal lpFileSystemNameBuffer As String, _
  11.                     ByVal nFileSystemNameSize As Long) As Long
  12. Private Sub Command1_Click()
  13. Dim Serial As Long
  14.     Dim VName As String, drvlettr As String, FSName As String
  15.     Dim lFs As Long
  16.     VName = String$(255, Chr$(0))
  17.     FSName = String$(255, Chr$(0))
  18.     On Error GoTo ErrorHandler
  19.     drvlettr = Left$(App.Path, 3)
  20.     'Get serial # from GetVolumeInformation API
  21.     GetVolumeInformation drvlettr, VName, 255, Serial, 0, lFs, FSName, 255
  22.     Text1.Text = "The serial number of " & drvlettr & " is '" & Trim(Str$(Serial)) & "'"
  23. Exit Sub
  24. ErrorHandler:
  25.     MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
  26.  
  27. End Sub