What is the best way to generate a unique hardware ID on Microsoft Windows with C++ that is not easily spoofable (with for example changing the MAC Address)?
Use Win32 System HDS APIs. Don't read the registry, it has no sense at all.