Как прочитать и экспортировать поддерево реестра Windows без запуска Regedit? - PullRequest
0 голосов
/ 29 октября 2010

У меня есть 32-битная программа C ++, которая собирает диагностические данные, чтобы помочь в устранении неполадок нашего программного обеспечения.Я бы хотел экспортировать определенное поддерево реестра - что-то вроде:

regedit.exe /e ExportResult.reg HKEY_LOCAL_MACHINE\SubTreeIWantToExport

Проблема в том, что Regedit, вероятно, потребует повышения привилегий в Vista и выше, а пользователю, работающему с моей программой, может не хватить правдля этого, но, вероятно, будет достаточно прав для чтения из этого поддерева.Также я предвижу небольшие проблемы с SysWOW64 на 64-битных системах.Поэтому запуск Regedit - это плохой вариант.

Конечно, моя программа могла бы прочитать сам реестр и каким-то образом создать эквивалент файла .reg, но реализация этой функциональности привела бы к повторному созданию колеса.

Есть ли другой способ прочитать и экспортировать поддерево реестра Windows из моей программы?

1 Ответ

2 голосов
/ 29 октября 2010

Не существует единого Win32 или .Net API для экспорта / импорта реестра.

Вы могли бы сделать что-то вроде это , но я думаю, что ваши требования должны избегать грубой силы.Однако любое решение, которое вы можете предложить, требует использования базовых интерфейсов Win32 API, как и regedit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...