To get get a global unique hardware ID on a PC.
You cannot use software unique ID, because it is based on OS/Software
Software unique ID:
1. Hardware id from registry:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSLicensing/HardwareID
2. From WMI
Win32_SystemEnclosure.SerialNumber,
Manufacturer-allocated number used to identify the physical element.
Win32_WindowsProductActivation.ProductID etc
String of 20 characters separated by hyphens in the format, xxxxx-xxx-xxxxxxx-xxxxx. This is the same product ID that is displayed under the General tab of the System Properties dialog in Control Panel.
3. Computer SID from registry: HKEY_LOCAL_MACHINE/SECURITY/SAM/Domains/Account
The security identifier (SID) structure is a variable-length structure used to uniquely identify users or groups.
Hardware unique ID:
CPU ID,
http://msdn2.microsoft.com/en-us/library/hskdteyh(vs.80).aspx
MAC Address,
HDD Serial number,
Win32_PhysicalMedia.SerialNumber
You cannot use volume serial number because volume serial number is a 32-bit number determined by the date on the current computer at the time of a disk's formatting. You may combine HDD brand and serial number to make the ID global unique.