Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

Реестр   Найти похожие ветки 

 
illy   (2005-10-13 22:44) [0]

Приветствую!
Помогите разобраться.
Имеется процедура в которую передаются два параметра, HKEY_LOCAL_MACHINE и "Softvare".

procedure TForm1.ToFile(Hkey_: HKEY; KeyStr_: string);
var
 Key: HKEY;
 ErrorCode: integer;
 ver: TOSVERSIONINFO;
 TokenHandle: THandle;
 tp, prevst: TTokenPrivileges;
 rl:DWORD;
 lpMsgBuf: PChar;
begin
 ErrorCode:=RegOpenKeyEx(Hkey_, PChar(KeyStr_), 0, KEY_READ, Key);
 if ErrorCode=ERROR_SUCCESS then
 try
   ver.dwOSVersionInfoSize := Sizeof(ver);
   GetVersionEx(ver);
   if ver.dwPlatformId=VER_PLATFORM_WIN32_NT then begin
     OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,TokenHandle);
     LookupPrivilegeValue(Nil,"SeBackupPrivilege",tp.Privileges[0].Luid);
     tp.PrivilegeCount:=1;
     tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
     AdjustTokenPrivileges(TokenHandle, false, tp, SizeOf(prevst), prevst, rl);
   end;

   ErrorCode:=RegSaveKey(Key, "tempreg.tmp", nil);
 finally
   RegCloseKey(Key);
 end;

 if ErrorCode<>ERROR_SUCCESS then  MessageBox(0, "Ошибка", "", MB_ICONERROR);
end;

RegSaveKey возвращает ошибку, если не ошибаюсь код 2(файл не найден), и создает файл нулевой длинны.
Подскажите в чем проблема?


 
GanibalLector ©   (2005-10-14 01:52) [1]

>Softvare
Нет такого. Есть SoftWare

Код в [0] рабочий. Вызывайте правильно ;) Например :
ToFile(HKEY_LOCAL_MACHINE,"Software\Borland");


 
evvcom ©   (2005-10-14 14:02) [2]

Инструмент такой есть, regedit.exe называется. Иногда позволяет прояснить картину, ну хотя бы по поводу правильности написания имен.


 
illy   (2005-10-21 02:23) [3]


> Код в [0] рабочий. Вызывайте правильно ;) Например :
> ToFile(HKEY_LOCAL_MACHINE,"Software\Borland");

Если можно, подробней пожалуйста, не разберусь никак.


 
illy   (2005-10-21 02:43) [4]


> Код в [0] рабочий. Вызывайте правильно ;) Например :
> ToFile(HKEY_LOCAL_MACHINE,"Software\Borland");

Вызов идет уменя так:
procedure TForm1.Button2Click(Sender: TObject);
begin
ToFile(HKEY_LOCAL_MACHINE,"Software");
end;



Страницы: 1 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
2-1128954918
serko
2005-10-10 18:35
2005.11.13
QuickRep


14-1129786565
Иксик
2005-10-20 09:36
2005.11.13
Как называеться мультфильм?


6-1122897901
Dr.Nemo
2005-08-01 16:05
2005.11.13
Чат на DELPHI при помощи арены на php


4-1126241076
Фагот
2005-09-09 08:44
2005.11.13
Перехват клавиш в консольном приложении


2-1130313822
alless
2005-10-26 12:03
2005.11.13
Как передать ф-ию в качестве параметра дин. массив?