uForum.uz

uForum.uz (https://uforum.uz/index.php)
-   Другие языки программирования (https://uforum.uz/forumdisplay.php?f=248)
-   -   Проблема с RegEnumKeyEx (https://uforum.uz/showthread.php?t=5998)

Olim 05.08.2008 05:43

Проблема с RegEnumKeyEx
 
Тут недавно столкнулся с одной проблемой:

Код:

var
 hRegKey: HKEY;
 i: Integer;
 KeyCount: longint;
 buffer: array [0..255] of char;
 buffer_len: dword;
begin
 if RegOpenKey(HKEY_CURRENT_USER,'Software\Mail.Ru\Agent\magent_logins',hRegKey) = ERROR_SUCCESS then
 begin
  buffer_len := 256;
  if RegQueryInfoKey(hRegKey,nil,nil,nil,nil,nil,nil,@KeyCount,nil,nil,nil,nil) = ERROR_SUCCESS then
  for i := 0 to KeyCount - 1 do
  begin
    if RegEnumKeyEx(hregKey,DWORD(i),@buffer,buffer_len,nil,nil,nil,nil) = ERROR_SUCCESS then
    MessageBox(0,@buffer,'Key',MB_ICONEXCLAMATION)
    else
    MessageBox(0,'RegEnumKeyEx error','Error',MB_ICONWARNING)
  end
  else
  MessageBox(0,'RegQueryInfoKey error','Error',MB_ICONWARNING)
 end
 else
  MessageBox(0,'RegOpenKey error','Error',MB_ICONWARNING);
end;

Вот тута вылетает ошибка RegEnumKeyEx error. Не знаю почему :rtfm: Плз, помогите

Rustam Khamidov 05.08.2008 10:02

У меня несколько подозрений.

1. Что мешало декларировать i как DWORD ?
2. Нужна ли инициализация buffer? Попробуйте перед вызовом функции RegEnumKeyEx, первму элементу буфера придать значение '\0'

Ну и при сравнении с примером использование функции RegEnumEx так же возможно, но не обязательно, разница в длине буфера. У вас там точно в 256 байт уложится?

Olim 05.08.2008 18:03

Спасибо, разобрался.
Оказывается, в коде все нормально.
Я вместо RegEnumValue, написал RegEnumКеу :)
Так как в ключе HKEY_CURRENT_USER\Software\Mail.Ru\Agent\magent_lo gins нет дочерних ключей, функция всегда возвращала значение !ERROR_SUCCESS

cascada 08.08.2008 20:35

Цитата:

Сообщение от Olim (Сообщение 126280)
Спасибо, разобрался.
Оказывается, в коде все нормально.
Я вместо RegEnumValue, написал RegEnumКеу :)
Так как в ключе HKEY_CURRENT_USER\Software\Mail.Ru\Agent\magent_lo gins нет дочерних ключей, функция всегда возвращала значение !ERROR_SUCCESS

а тебе зачем это? адреса почты тырить?:))))))))))))))))))))))))))

Olim 08.08.2008 21:37

Цитата:

Сообщение от cascada (Сообщение 127650)
а тебе зачем это? адреса почты тырить?:))))))))))))))))))))))))))

Создаю программку для восстановления паролей от Mail.ru Agent :naughty:


Текущее время: 16:12. Часовой пояс GMT +5.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
OOO «Единый интегратор UZINFOCOM»