: I will have a shareware version & a full version. The full version can be downloaded once the customer has registered.
i've done some cr@cking* during my time at my computer. strictly educational! ;) honestly, there isn't much you can do. a cr@cker* can disassemble, change a few hex codes, and bypass any restrictions you have. it's fairly simple. or they could use a debugger to catch any API calls your program uses, with this method a cr@cker* can find the serial for a program with out having to register it. you may want to use an packer/encryptor. but, still... your program is not completely safe. there are numerous programs out there that will unpack/decrypt your program, no matter what packer/encryptor you're using. now, assuming that the user is completely legitimate:
: a) restrict the trial to 10-days or something- how do I monitor that the clock isn't set back etc.
1. the first time your program runs get the date.
2. write the date to the registry.
3. then every time your program runs, thereafter, get the date.
4. compare it with the date that was written in the registry the previous run.
5. if the current date is earlier than the date in the registry, do what ever you'd like. i.e. warn user, close program.
: b)or restrict the number of times the program can be used before it must be registered.
1. the first time your program runs write a value into the registry. i.e. Uses 1.
2. then every time your program runs, thereafter, get the value from the registry and increment it by one. i.e. Uses 2.
3. compare that value with "Uses 10" or whatever you like.
4. if not equal, write the incremented value to registry.
or. if equal, do what ever you'd like.
*: word is banned