Various software companies distribute their software with hardware security, usually a dongle which must be mounted in order for the software to operate.
I don't have experience with them, but I wonder, do they really work?
What is it that the dongle actually does? I think that the only way to enforce security using this method, and prevent emulation of the hardware, the hardware has to perform some important function of the software, perhaps implement some algorithm, etc.