Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



как из delphi влиять на реестр [изменить заголовок корзины]

Алгоритм взаимодействия Delphi с системным реестром весьма прост.


Для этого нужно:

1) В области uses объявить модуль Registry

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Registry;


2) Объявить переменную класса TRegistry

var
a:TRegistry;


3) Создать эту переменную (имеется в виду - выделить под неё память)

a:=TRegistry.Create;


4) Переменная класса TRegistry имеет тип записи. У переменной типа "запись" есть свои свойства, свои события. И теперь, после того как мы выделили память под эту переменную, нам сперва нужно указать с каким из основных ключей мы хотим взаимодействовать - с помощью свойства RootKey.

a.RootKey:=HKEY_CLASSES_ROOT;


5) Далее мы открываем нужный нам ключ, используя метод OpenKey. Сначала нужно указать путь к нужному ключу (без указания главного, т.к. он уже был указан в предыдущем пункте), а затем логическое значение, обозначающее - будет ли создан ключ в случае его отсутствия (мы написали false - это значит, что ключ создан не будет). Например, мы хотим изменить заголовок корзины (заметьте, обычным способом это сделать нельзя!), тогда код с указанием пути к ключу, отвечающему за эту системную папку будет выглядеть так:

a.OpenKey('\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}',false);


6) Когда нужный ключ открыт, нам предоставляется возможность редактировать его параметры. Для этого нужно использовать следующие методы: для внесения данных в реестр - WriteString, WriteInteger, WriteFloat, WriteDate и т.д., в зависимости от того какого типа данные мы хотим вносить; для считывания данных из параметра - ReadString, ReadInteger, ReadFloat, ReadDate...

В данном случае, мы хотим изменить заголовок корзины, т.е. хотим внести данные в реестр, данные строкового типа - поэтому используем метод WriteString: a.WriteString('','Мусорка');



Методу нужно указать 2 параметра: сначала имя параметра, затем заносимое значение. В качестве имени параметра мы не указываем ничего, п.ч. в указанном нами ключе имя корзины - это параметр по умолчанию. В качестве значения можно указать всё, что угодно, например, 'Мусорка'.

7) После того как мы сделали своё грязное дело, нужно замести следы: сначала закрыть ключ: a.CloseKey;



, а затем освободить выделенную нами память: a.Free;




ВСЁ! ТЕПЕРЬ МЫ МОЖЕТ СПОКОЙНО ГУЛЯТЬ ПО ВСЕМУ РЕЕСТРУ, И ДЕЛАТЬ ЖИЗНЬ БЕДНОГО ЛАМЕРА НЕВЫНОСИМОЙ! В этом разделе очень злостные вещи описываться не будут, они найдут себе место а разделах наподобие "Пакости", а здесь нашей основной задачей является освоение особенностей реестра. И так, поехали дальше...




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS