Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2014, 09:26   #1
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию Экспорт ветки реестра

Как програмно выполнить экспорт ветки реестра \SOFTWARE\MyProgram
nibufep вне форума Ответить с цитированием
Старый 13.09.2014, 09:33   #2
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Нашел пример, но почему то не работает

Код:
var
hk:HKEY;
begin
if RegOpenKey(HKEY_CURRENT_USER,'\SOFTWARE\MyProg',hk)=ERROR_SUCCESS then
RegSaveKey(hk,'C:\Users\nibufep\Desktop\hk.reg',nil);
RegCloseKey(hk);
end;
nibufep вне форума Ответить с цитированием
Старый 13.09.2014, 10:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А попробуй вызвать запуск команды
Код:
reg save HKLM\SOFTWARE\MyProg file.reg
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.09.2014, 10:16   #4
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Я уже сделал через cmd, только проблема возникла, если в пути есть русские буквы то ошибка, как можно исправить?
nibufep вне форума Ответить с цитированием
Старый 13.09.2014, 10:33   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как ты сделал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.09.2014, 11:29   #6
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Код:
AssignFile(F, 'save.cmd');
Rewrite(F);
Writeln(F, 'regedit.exe -ea '+SaveDialog1.FileName+'.reg "HKEY_CURRENT_USER\Software\MyProg"');
Writeln(F, 'del save.cmd');
CloseFile(F);
ShellExecute(Application.Handle,'open','save.cmd ',nil,nil,SW_ShowNormal);
nibufep вне форума Ответить с цитированием
Старый 13.09.2014, 15:06   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Можно обойтись без создания файла save.cmd, если запихать его содержимое прямо в вызов ShellExecute().
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.09.2014, 17:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
Writeln(F, 'regedit.exe -ea "'+SaveDialog1.FileName+'.reg" "HKEY_CURRENT_USER\Software\MyProg"');
Понял? Имя файла оковычивай. Должно помочь.
Цитата:
Можно обойтись без создания файла save.cmd, если запихать его содержимое прямо в вызов ShellExecute().
Согласен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.09.2014, 08:04   #9
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
Writeln(F, 'regedit.exe -ea "'+SaveDialog1.FileName+'.reg" "HKEY_CURRENT_USER\Software\MyProg"');
Понял? Имя файла оковычивай. Должно помочь.
не помогло

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Можно обойтись без создания файла save.cmd, если запихать его содержимое прямо в вызов ShellExecute().
а можно подробней как это сделать?

Последний раз редактировалось Stilet; 14.09.2014 в 10:00.
nibufep вне форума Ответить с цитированием
Старый 14.09.2014, 13:22   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
а можно подробней как это сделать?
Неужели так влом потратить 3 минуты на чтение справки, что ты готов ждать 3 часа сообщение на форуме?
Код:
ShellExecute(0, 
             'open', 
             'regedit.exe',
             PChar('-ea "' + SaveDialog.FileName + '" HKEY_CURRENT_USER\Software\MyProg'),
             nil,
             SW_HIDE);
WARNING!!! ACHTUNG!!! PRECAUCION!!! ВНИМАНИЕ!!! УВАГА!!! ETTEVAATUST!!! 注意!!!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определение ветки реестра Letnab Общие вопросы Delphi 18 23.04.2014 09:35
ветки реестра detalik Общие вопросы Delphi 2 06.03.2013 04:58
Как запланировать удаление ветки реестра? meverikxp Windows 17 11.11.2009 12:43
изменение безопасности на ветки реестра RIPPER Безопасность, Шифрование 3 22.11.2006 17:01