|
|
Знаете ли Вы, что ... | |
...нарушения правил форума наказываются. Старайтесь их не нарушать. | |
<< Предыдущий совет - Случайный совет - Следующий совет >> |
Другие языки программирования Здесь обсуждаются все, что касается JAVA, проблемы и задачи 1С, |
Ответить |
|
Опции темы | Опции просмотра |
05.08.2008 05:43 | #1 | ||
Тут недавно столкнулся с одной проблемой:
Код:
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;
__________________
http://zax.ucoz.com |
|||
|
Ответить |
05.08.2008 10:02 | #2 |
ИП Уздунробита
специалист
Сообщений: 610
+ 454
435/216
– 1
1/1
|
У меня несколько подозрений.
1. Что мешало декларировать i как DWORD ? 2. Нужна ли инициализация buffer? Попробуйте перед вызовом функции RegEnumKeyEx, первму элементу буфера придать значение '\0' Ну и при сравнении с примером использование функции RegEnumEx так же возможно, но не обязательно, разница в длине буфера. У вас там точно в 256 байт уложится? |
|
Ответить |
"+" от:
|
05.08.2008 18:03 | #3 |
Спасибо, разобрался.
Оказывается, в коде все нормально. Я вместо RegEnumValue, написал RegEnumКеу Так как в ключе HKEY_CURRENT_USER\Software\Mail.Ru\Agent\magent_lo gins нет дочерних ключей, функция всегда возвращала значение !ERROR_SUCCESS
__________________
http://zax.ucoz.com |
|
|
Ответить |
2 "+" от:
|
08.08.2008 21:37 | #5 |
Создаю программку для восстановления паролей от Mail.ru Agent
__________________
http://zax.ucoz.com |
|
|
Ответить |
|