Форум: "WinAPI";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизИспользование функции 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c