Copy protection is not a trivial task. There are many different ways of achieving some form of this, but none will be perfect. If the application is worth the effort, someone will figure out how to copy it. The best bet may be to evaluate if it is valuable enough to spend the time on copy protecting your application. If it is valuable enough, then you have much reading and study ahead of you in implementing a solution:
See these results[
^] as a starting point.