I think this is related to [this question](https://security.stackexchange.com/questions/33697/what-devices-types-of-devices-typically-have-unique-associated-id-numbers), but I would like to know if there's also a way to prevent "third party" applications from seeing hardware IDs (motherboard, hard disks, and others), or giving them fake values, on real OS, not using a virtual machine. I'm interested here in modern mainstream desktop OSes, (and especially interesting are Windows 7 and Windows 8 for x86-64).