Si quieres saber como extraer el número de serie del disco rígido, puedes utilizar la función
GetVolumeInformation, este número puedes mezclar con el CRC del archivo a través de cualquier algoritmo aritmético (Creo que en
Torry.net puedes bajar una unit para obtener el CRC32), luego esto lo puedes encriptar con algún método que deje algo legible, como números y letras. Este número es el que te enviará el usuario, el aquí la cosa puede variar, puedes trabajar con el número encriptado, o puedes desencriptar el número para afectarlo por algún otro algoritmo y/o máscara para generar el segundo serial. Tu programa tiene que tener la lógica como para poder comparar este código con el mismo algoritmo.
Espero haber sido claro.
Saludos!