Есть ли способ восстановить записи реестра, которые были удалены с помощью RegDeleteKey? - PullRequest
0 голосов
/ 21 июля 2010

[Я знаю, что на самом деле это может лучше принадлежать суперпользователю, но я думал, что перспектива программиста может дать немного лучшие / более быстрые результаты.]

Я только что написал изящный новый фреймворк для наших приложений, и все работало просто замечательно. Осталось проверить только одну функцию, которая удаляла раздел реестра (рекурсивно). Поскольку все остальное работало в точности так, как ожидалось, я стал непростительно небрежным и сделал то, что, вероятно, было фатальной ошибкой: я провел тест не шаг за шагом в отладчике, а вживую ...

Кажется, я допустил ошибку в обработке пути, и теперь все ниже HKEY_CURRENT_USER\Software, которое не было заблокировано или иным образом недоступно во время теста, ушло.

Я использовал метод Delphi 2009 TRegistry.DeleteKey, который в свою очередь рекурсивно вызывает API RegDeleteKey. Есть ли способ отменить это либо программно, либо с помощью утилит (желательно, бесплатных)?

Я на самом деле довольно удивлен, что система все еще работает (я пишу это с этой машины). Я не вошел или перезагрузил с тех пор, как это произошло. Я предполагаю, что все записи кэшируются в памяти запущенными приложениями. Может быть, их тоже можно оттуда вернуть?

Восстановление системы сообщает, что на этом компьютере не было создано точек восстановления, хотя я уверен, что они были. Может ли это быть признаком очищенного реестра? Можно ли это как-то преодолеть?

Это в Windows 7 Enterprise (32-разрядная версия).

HALP !!!

1 Ответ

2 голосов
/ 21 июля 2010

По крайней мере, это был HKEY_CURRENT_USER.

Если включены перемещаемые профили, скачайте их из хранилища профилей.

Если нет, он потерян.

...