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

Вниз

Использование функции RegQueryValueEx()   Найти похожие ветки 

 
Варяг ©   (2005-12-27 22:29) [0]

Вопрос заключатся в следующем при вызове функции RegQueryValueEx(),
возникает ошибка которая связана с неправильным указание  параметров.

RegQueryValueEx(Hkey:HKEY,lpValueName:PansiChar,
   lpReserved:Pointer,lpType:PDWORD,lpData:PByte,
   lpcbData:PDWORD);
где по моему пониманию:
Hkey - дескриптор раздела;
lpValueName-имя считываемого параметра;
lpReserved- указатель на что-то ???
lpType- тип параметра(REG_SZ,REG_DWORD и т.д. );
lpData- буфер под значение переменной;-?
lpcbData- размер буфера;-?

Проблема заключается в следующем:
1) при указании lpType = REG_SZ пишет "Несовместимые типы Integer и PDWORD "
  но при замене на nil ошибка уходит,но странность RegSetvalueEx()
  воспринимала REG_SZ без проблем !?
2) lpData,lpcbData - объявляю переменную Data, и как результат пишет ошибку
  совместимости типов Integer и PDWORD .
 
Привожу пример кода, может кто знает как помочь?

Function RegEdit:boolean ;
Var
MyKey:HKey;
Error:LongInt;
Data:byte;
Begin

 Error:= RegOpenKey(HKEY_CURRENT_USER,PChar("Control Panel\Desktop"),MyKey);
Error:= RegQueryValueEx(MyKey,PChar("Wallpaper"),0,nil,Data, SizeOf(Data);
if Error=ERROR_SUCCESS Then ShowMessage("ok")
              Else ShowMessage("no") ;

Else ShowMessage("No");
RegDeleteKey(MyKey);
end;


 
Sumor   (2005-12-28 00:20) [1]

lpType  и lpData это указатели на соответствующие данные, в первом случае указатель на место, куда система запишет тип ключа, во втором случае на данные, например на строчку с завершающим нулём.

Function RegEdit:boolean ;
Var
 MyKey:HKey;
 Error:LongInt;
 Data:PByte;
 DType : DWORD;
Begin

GetMem(Data, 256);

Error:= RegOpenKey(HKEY_CURRENT_USER,PChar("Control Panel\Desktop"),MyKey);
Error:= RegQueryValueEx(MyKey,PChar("Wallpaper"),0,&DType,Data, 256);
if Error=ERROR_SUCCESS Then ShowMessage("ok")
             Else ShowMessage("no") ;

Else ShowMessage("No");
RegDeleteKey(MyKey);
FreeMem(Data);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
2-1141548073
Der Neck@ssoff
2006-03-05 11:41
2006.03.19
открытие файла своей прогой


15-1141030750
Dok_3D
2006-02-27 11:59
2006.03.19
Borland прощается с ...


15-1140613855
Compton's G
2006-02-22 16:10
2006.03.19
98 понимает NFTS или нет?


9-1126532168
Signate
2005-09-12 17:36
2006.03.19
Игровой цикл


4-1135178763
Sasha73
2005-12-21 18:26
2006.03.19
На API диалоговое окно для ввода пароля? (звездочки)