Instantiate an instance of this class to read/write the evaluation parameters for the given product. The FirstUseDate is set the first time that the class is instantiated. The LastUseDate is set each time the class is instantiated. The UsageCount is incremented each time the class is instantiated.
Note that evaluation data must be stored somewhere on the users hard disk. It is therefore not too difficult for a sophisticated user to determine the changes made either to registry keys or files (using file/registry monitoring software) and restore the state of these to their pre-installation state (thus resetting the evaluation period). For this reason it is recommended that you don't rely on this mechanism alone. You should also consider limiting the functionality of your product in some way or adding nag screens to discourage long term use of evaluation versions.
If you have a data oriented application you can increase the security of evaluations by storing the current UsageCount somewhere in your database each time the application runs and cross checking this with the number returned by the EvaluationMonitor.