Well, it honestly depends.
Many programs uses the %APPDATA% folder, which would be easily transferable to another HDD/installation, but a few use their own program directories.
You would also have to have the rename the previous directory to suit your needs.
For example, if your user was called 'BillyBob', you would need to name it 'C:\Users\BillyBob'.
And, depending on the program, your PC will need to be named the same too.
Programs that use the Registry to store things like Serials/registration data will also need to be re-registered.
ALSO, something to note, check your Insert antivirus's chest or whatever, because if you move those over to your new system, then they'll no longer be boxed and will be able to infect your system.