Registry Events Watcher classes

The COXRegistryWatcher enables you to organize registry change notifications. It notifies the caller about changes to the attributes or contents of a specified registry key or its subkeys.
Features:
•	You can set a registry key to be watched. This key is specified by its handle. In addition you can specify watching for sub-trees and type of watched changes (in the value, name, attributes or security). For each of watched keys COXRegistryWatcher creates a notifier - object of the COXRegistryWatchNotifier class that stores all notification parameters. 
•	You can add unlimited number of keys to be watched and redefine the watching dynamically, without re-creating the COXRegistryWatcher object. 
•	All change notifications are handled by virtual functions, which can be overridden in derived classes. Override this function to specify handling of the registry changes. 
•	COXRegistryWatcher can also convert notifications to a window message. This message can be sent to a specified window and processed there. 
•	Registry watching is carried out by the separate worker thread. It doesn't "hang" your programs.