Ultimately the answer is: there is no such system.
Since the user—owner and administrator—of the computer has full control they can fake anything (with sufficient effort) up to and including any attempts by your software to call home for verification. Remember they can always modify your software (including eliminating checks against such modification) as part of this.
You are better off providing sufficient cost-benefit to the user (eg. useful functionality, responsive and useful ongoing support) that it is their interest not to cheat. This includes making it easier to be honest than dishonest (this is one of the major problems with media DRM).
While you can get arbitrarily close, with significant effort, to your goal you will of course be taking resources away from implementing things of use to the user.