| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Работа с закрытым реестром |
| Автор: Silmarion 4.4.2007, 09:22 |
| Всем привет! В общем проблема наверное простая, но сталкиваюсь в первые. Дело в том, что имеется путь к некоторому файлу (например 'c:\ttt.reg'), как его перенести в реестр, при том что реестр закрыт на клиентсякой машине? |
| Автор: Silmarion 4.4.2007, 10:05 |
| Неужели никто не знает=(? |
| Автор: Snowy 4.4.2007, 10:07 |
| Если данная ветка реестра недоступна на запись, то никак. |
| Автор: Silmarion 4.4.2007, 10:17 |
| Странно я знаю как минимум 1 вариант но он очень долгий получается... чтение файла построчно и внесение каждого параметра отдельно! Извените за беспокойство всем спс |
| Автор: Snowy 4.4.2007, 10:22 |
| Если вносится, значит не закрыт ;-) Вырази мысль яснее. Реестр никогда не бывает полностью закрыт. Может отсутствовать доступ на запись на некоторые разделы. |
| Автор: Silmarion 4.4.2007, 10:42 |
| Попробую объянить, но боюсь коряво получится... Реестр закрыт для юзера, но через вин апи в него можно вносить изменения. Так вот просто пишу обновления для клиент приложения... и вот там помимо апдэйта может быть еще и test.reg файл который содержит изменения реестра... Как его внести в реестр через вин апи не разбирая его построчно... Добавлено через 2 минуты и 41 секунду Как вариант думаю создать отдельный поток (под админом) и из него запускать этот рег файл... но к сожалению не знаю как под поток выставлять админ права=( |
| Автор: Snowy 4.4.2007, 10:53 |
| Дай попробую угадать. У юзвера просто заблокирован запуск RegEdit. Попробуй выполнить строку reg.exe IMPORT c:\ttt.reg |
| Автор: Silmarion 4.4.2007, 11:00 |
| Пробовал не получается |
| Автор: Snowy 4.4.2007, 11:04 |
| А как получается? |
| Автор: Silmarion 4.4.2007, 11:07 |
| При построчной обработке внутри файла. Но у меня порядка 80к строк и на это уходит много времени... |
| Автор: Snowy 4.4.2007, 11:26 |
| Напиши свою программу для выгрузки ветки реестра в файл в своём формате. Добавь загрузку в свою программу. Зачем юзать reg файл неизвестного формата. Используй свой ;-) Разбирать формат reg будешь дольше, чем напишешь выгрузку в свой собственный формат. |
| Автор: ama_kid 4.4.2007, 11:30 |
| Silmarion Посмотри еще у TRegistry есть функции LoadKey\RestoreKey - сам не пробовал, но по хелпу написано, что загружает ключ из файла... |
| Автор: Snowy 4.4.2007, 11:38 |
| Угу. Один ключ из одного файла. Причём никакого отношения к reg файлам не имеет. Причём не во всех виндах работает. |
| Автор: bartram 4.4.2007, 17:49 | ||
Какой регистр? Может имелось в виду реестр? Если ты имел ввиду реестр, то эти проги делают все через WinApi. |
| Автор: Silmarion 4.4.2007, 18:04 | ||
Естественно реестр, а более существенно можно чтонибудь сказать. То что через вин апи это и так понятно... |
| Автор: Coffein 18.4.2007, 20:13 |
| Silmarion, могу посоветовать почитать про доступ к реестру с помощью Api, здесь: http://delphirus.com.ru/modules.php?name=Pages&pa=showpage&pid=1903 |