adding registration keys

BlitzMax Forums/BlitzMax Programming/adding registration keys

It kind of depends on how strictly you want to lock it down...

You can obtain a lot of info about a computer through the windows API:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/computer_system_hardware_classes.asp

Of course, locking any program to the hardware comes with some technical problems, in that it is very common for people to upgrade one or more of their hardware components. Additional memory, bigger harddrive, faster video card, etc.
Windows XP addresses this by determining the info on a lot of different components, and allowing you to make a certain number of changes over a certain time frame. Too many changes in too short a time, and it will want to be re-activated. If you do decide to tie your program to the hardware, that is pretty much a must, or you'll end up with a lot of legitimate users that will be legitimately pissed off that your program stops working. (Especially since they most likely paid for it, or why bother locking it to a computer in the first place?)

I've also seen some software that does a lot more basic test, simply by looking to the name of the computer. That does not actually tie it to specific hardware, but it will limit it to a single computer by that name on your local network -- more than one and you'll get problems thanks to the duplicate name, especially in larger networks that use a domain controller. It's not as 'secure' as looking at the actual hardware, but it's a lot more user friendly to the end user, and allows them limited portability -- as long as their new computer has the same name as the old, they can simply reinstall it regardless of the actual hardware.