Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при работе с RegQueryValueEx [D6, Win2k, WinXP]


Alexis ©   (2004-06-12 15:37:00) 

procedure TRestrictionsForm.FormCreate(Sender: TObject);
var
OPENED : HKEY;
Buffer : Pointer;
ValType, BuffSize : DWORD;
begin
RegOpenKeyEx(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer', 0, KEY_EXECUTE, OPENED);
Buffer := nil;
if RegQueryValueEx(OPENED, 'NoDrives', nil, @ValType, PByte(Buffer), @BuffSize) = ERROR_SUCCESS then
  if (ValType = REG_DWORD) or (ValType = REG_BINARY) then
   ShowMessage( IntToStr(Integer(Buffer)) );
end;

Постоянно выдается 0, даже при ненулевом значении.
Где ошибка?
Заранее спасибо.


Cobalt   (2004-06-13 13:53:00) [1]

If the function fails, the return value is a nonzero error code defined in WINERROR.H. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
(GetSysError, если не ошибаюсь)


Cobalt   (2004-06-13 13:52:00) [2]

А память под буфер выделять не собираетесь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо