Пишу утилиту, призванную помочь "эникейщику" помочь оценить состояние ОС Windows, произвести мелкий (и не очень) ремонт, автоматизировать некоторые рутинные операции.
Сейчас готов модуль, который позволяет править даже те ключи реестра, доступ к которым либо затруднён (права доступа), либо невозможен (всякие вирусы-антивирусы).
Такого рода трудности обычно преодолеваются так или иначе (работа из другой ОС, или работа через приложение, запускаемое с правами локальной системы).
В моей программе тоже предусмотрен запуск CMD.EXE от имени системы, что позволяет уже и Regedшt запустить. Но, это не решает всех проблем.
Итак, что уже есть:
Выгрузка куста реестра в файл.
Далее - правка его (тут два варианта: 1) Стандартный - загрузка в текущий реестр, правка, выгрузка. 2) Непосредственная правка файла.
Первый способ безопаснее, поскольку для выгрузки и правки используются нативные утилиты Windows. Но, некоторые вирусы-антивирусы сопротивляются. Кроме того, права доступа тут также работают.
Второй способ имеет ряд ограничений. Например, размер значения параметра не должен меняться. На практике в рамках возможных задач это ограничение не существенно.
Например, для отключения драйвера достаточно изменить значение параметра "Start" на 4. Понятно, что длина не изменяется. Что до строковых значений, то, изменив несколько символов в пути к файлу, мы можем исключить его автозапуск.
Еще одним видом данных, доступных для редактирования, является REG_BINARY. Там тоже все понятно. Итого, пока поддерживается редактирование только REG_SZ, REG_DWORD и REG_BINARY.
После редактирования остается только "подменить" текущий файл реестра нашим, "пропатченным". Изменения, как водится, проявляют себя после перезагрузки.
Технология позволяет автоматизировать некоторые процессы. Например, можно одной кнопкой отключать назойливое предложение зарегистрироваться у одного бесплатного антивируса.
Так вот. Я этот модуль писал первым делом для борьбы со всякими baidu, но раз уж он уже написан, то грех не прикрутить в программу несколько "волшебных кнопок" (вроде "отключить окно с просьбой зарегистрироваться". Если есть идеи / пожелания, то постараюсь воплотить.
Кроме того, есть просьба погонять на тестовых системах.
Сам я не имею возможности ставить виртуалки, и клиентов по ремонту тоже не густо. Поэтому, испытывал только на своей машине с Вин 7х64.
Да, для запуска модуля работы с реестром нужно в главном меню выбрать Registry > Operations. Первая вкладка - выгрузка, загрузка, актуализация. Вторая - для второго способа правки.