Example #1
0
 protected override void OnStart(string[] args)
 {
     foreach (RegistryItem item in Properties.Settings.Default.ItemsToEnforce)
     {
         RegistryWatcher watcher = new RegistryWatcher(Registry.LocalMachine, item.KeyPath, item.ValueName);
         watcher.RegistryValueChangeEvent += Watcher_EventArrived;
         Watchers.Add(watcher);
     }
 }
Example #2
0
        private void Watcher_EventArrived(object sender, RegistryValueChangeEventArgs e)
        {
            RegistryWatcher watcher = sender as RegistryWatcher;

            Console.WriteLine($"{watcher.ValueName} changed to {e.Value}");
            RegistryItem item = Properties.Settings.Default.ItemsToEnforce.SingleOrDefault(i => i.KeyPath == watcher.KeyPath && i.ValueName == watcher.ValueName);

            if (item != null)
            {
                Console.WriteLine($"{watcher.ValueName} changed to {e.Value}");
                watcher.Value = item.OverrideValue;
            }
        }