На какие версии Windows вы ориентируетесь?Windows 2000 и выше всегда будет возвращать серийный номер системного тома.Технически это не то же самое, что серийный номер жесткого диска, но каждый логический раздел Windows будет иметь его независимо от платформы.См. GetVolumeInformation .
Я говорю, не беспокойтесь о привязке его к аппаратному обеспечению.Вместо этого используйте идентификатор продукта Windows и серийный номер тома выше.Это хорошо до тех пор, пока они не переформатируют раздел или не обновят / не установят другую копию Windows.
Пусть они активируются каждый месяц или около того без вмешательства, и вы по-прежнему блокируете пиратство, избегая обращений в службу поддержки и причиняя неудобства пользователю.1009 *
Теперь для более технической части.Как вы будете удерживать их от взлома вашей программы?