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

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

Реестр с помощью функций WinAPI [D5, WinXP]


allx:. ©   (2002-12-14 17:48:00) 

Хто нить подскажет как пользоваться йункиями работы с реестром используя исключительно WinAPI. Это такие функции как RegCreateKey, RegQueryValue, RegSetValue и др.
Спасибо!!!


allx:.   (2002-12-21 15:46:00) [1]

И Вам спасибо, тоже.


Evgeny   (2002-12-21 07:45:00) [2]

К примеру я использовал это так:

var
HK : HKEY;
dwType,
dwKeySize : DWORD;

function ReadString(Text : PChar; Default : String) : String;
var
St : String;
begin
Result := "";
if (RegQueryValueEx(HK, Text, NIL, @dwType, NIL, @dwKeySize) = ERROR_SUCCESS) and
((dwType = REG_SZ) or (dwType = REG_EXPAND_SZ)) then
begin
SetLength(St, dwKeySize - 1);
if RegQueryValueEx(HK, Text, NIL, NIl, @St[1], @dwKeySize) = ERROR_SUCCESS then
Result := St
else
Result := Default;
end
else
Result := Default;
end;


allx:.   (2002-12-20 21:19:00) [3]

Большое Вам спасибо!!!
Сейчас попробую...


TForm1   (2002-12-20 00:46:00) [4]

Попробуй так

var
Key:HKEY;
Buffer:array[0..1000]of char;
Err:integer;
BufSize:integer;

begin
Err:=RegOpenKey(HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Run",Key);
If Err<>Error_success then Exit;
BufSize:=SizeOf(Buffer);
Err:=RegQueryValueEx(key,"DownloadAccelerator",nil,nil,@Buffer,@BufSize);
end;


Теберь в Buffer"е содержится значение параметра. Если чего непонятно, спрашивай.


allx:.   (2002-12-19 22:20:00) [5]

Возвращает код ошибки ERROR_SUCCESS, длину 0 и соответсвеноо буфер пуст, хотя этот параметр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\DownloadAccelerator) в реестре существует. Вот сам код:

var
tempbuf:string;
tempcount:integer;
key:hkey;
begin
...
RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar("Software\Microsoft\Windows\CurrentVersion\Run\"),0,key_all_access,key);
setlength(tempbuf,256);
RegQueryValueEx(key,pchar("DownloadAccelerator"),nil,nil,pbyte(tempbuf),pdword(tempcount));
setlength(tempbuf,tempcount);
...
end;

Мастера, помогите пожалуйста!!!


Внук   (2002-12-19 09:46:00) [6]

Говорите точно, в чем проблема :))
Иначе - Во имя Alt"а, Control"а и святого Del"а F1


allx:.   (2002-12-18 21:43:00) [7]

Так может хоть кто-то подскажет как пользоваться функцией RegQueryValue??? plz


Василий2   (2002-12-16 17:50:00) [8]

Если палки... Без точки на конце...

Ссылка:
http://v0id.by.ru/articles/lc4.html


Anatoly Podgoretsky   (2002-12-15 13:55:00) [9]

Ich Hasse © (14.12.02 22:58)
Не ходи там черные страницы


allx:.   (2002-12-15 13:37:00) [10]

Я то и хелп читал, но что-то ничего у меня не получилось. С функциями RegCreateKey и RegSetValueEx все хооршо, но вот не могу никак прочитать с реестра функией RegQueryValueEx.
Хелп он есть хелп, а хотелось бы чтоб кто-то на примере показал. Заранее благодарен!


Ich Hasse   (2002-12-14 22:58:00) [11]

Запрошенный вами документ " http://v0id.by.ru/articles/lc4.html." не найден на сервере.


Василий2   (2002-12-14 18:51:00) [12]

Зайди на http://v0id.by.ru/articles/lc4.html.Тут тебе и взлом и использование этих функций.


Ketmar   (2002-12-14 18:39:00) [13]

а хэлп читать родители еще не разрешают?

Satanas Nobiscum! 14-Dec-XXXVII A.S.


Наверх

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