Относительно WMI и реестра:
Существует три класса событий WMI, относящихся к реестру:
- RegistryTreeChangeEvent
- RegistryKeyChangeEvent
- RegistryValueChangeEvent
Классы событий реестра
Но вы должны знать об этих ограничениях:
С RegistryTreeChangeEvent и RegistryKeyChangeEvent невозможно напрямую указать, какие значения или ключи действительно изменились. Для этого вам необходимо сохранить состояние реестра до события и сравнить его с состоянием после события.
Эти классы нельзя использовать с кустами HKEY_CLASSES_ROOT или HKEY_CURRENT_USER. Вы можете преодолеть это, создав класс WMI для представления ключа реестра для мониторинга:
Определение класса реестра с квалификаторами
и используйте его с производными классами __InstanceOperationEvent.
Таким образом, использование WMI для мониторинга реестра возможно, но менее чем идеально. Преимущество заключается в том, что можно отслеживать изменения в режиме реального времени. Другим преимуществом может быть постоянная подписка на WMI:
Получение событий в любое время
метод для мониторинга реестра «всегда», т.е. событие, если ваше приложение не запущено.