Zapisywanie rejestru do pliku.

0

Witam, czy wie ktos jak zapisać jakąś część rejestru do pliku tak żeby potem z powrotem to wpisać do rejestru.

np. żeby zczytać wszytkie klucze z HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Account Manager\Accounts\00000001

do pliku i po reinstall windowsa je wkleić.

Robiłem tak :

 Reg := TRegistry.Create;        
  try
  reg.RootKey:=HKEY_CURRENT_USER;
      reg.SaveKey('SOFTWARE\Microsoft\Internet Account Manager\Accounts\00000001\*.*','c:\xxx2.reg');
  finally
    Reg.Free;
  end;

, ale zapisuje pusty plik, ma ktoś pomysł co z tym zrobić?

0

dzięki nie pomyślałem o tym ;)

0
Wolverine napisał(a)

Uzyj regedita: http://techsupt.winbatch.com/TS/T000001029F18.html

Też tego potrzebowałem(ja nie mogę odczytać tego, co zapisałem)

Do posta autora wątku: w helpie jest wyraźnie napisane, że to jest tzw. hive file i takie coś nie może mieć rozszerzenia. :P

BTW, czy ktoś ma coś takiego, jak powyżej do Linuxa? Bo chciałem napisać aplikację pod Windowsa i Linuxa.

Dobra, nie wiem jak Wam, ale mi coś nie idzie.

A robię tak:

shellExecute(0, 'open', PChar('regedit.exe /e '+sciezka+extToSave+'.reg HKEY_CLASSES_ROOT'+ext), 0, 0, 0);

sciezka - to scieżka do programu(plik ma być zapisywany w katalogu programu), extToSave to rozszerzenie z klucza HKEY_CLASSES_ROOT bez kropki, czyli np: 'jpg', ext to ten klucz, który chce zapisać, czyli np: '.jpg'

Próbowałem też te parametry dać w argumencie Parameters, ale też się nic nie działo. Nigdzie się plik nie zapisuje. Co robię źle?

Funkcja shellExecute zwraca błąd 31

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0