Как из Delphi влиять на реестр (Изменить заголовок корзины)
Советы »
Другое » Как из Delphi влиять на реестр (Изменить заголовок корзины)
Алгоритм взаимодействия Delphi с системным реестром весьма прост.
Для этого нужно:
- В области uses объявить модуль Registry:
uses
Registry;
- Объявить переменную класса TRegistry:
var
a: TRegistry;
- Создать эту переменную (имеется в виду - выделить под неё память):
a := TRegistry.Create;
- Переменная класса TRegistry имеет тип записи. У переменной типа "запись"
есть свои свойства, свои события. И теперь, после того как мы выделили память
под эту переменную, нам сперва нужно указать с каким из основных ключей мы
хотим взаимодействовать - с помощью свойства RootKey:
a.RootKey := HKEY_CLASSES_ROOT;
- Далее мы открываем нужный нам ключ, используя метод OpenKey. Сначала нужно
указать путь к нужному ключу (без указания главного, т.к. он уже был указан в
предыдущем пункте), а затем логическое значение, обозначающее - будет ли
создан ключ в случае его отсутствия (мы написали false - это значит, что ключ
создан не будет). Например, мы хотим изменить заголовок корзины (заметьте,
обычным способом это сделать нельзя!), тогда код с указанием пути к ключу,
отвечающему за эту системную папку будет выглядеть так:
a.OpenKey('CLSID{645FF040-5081-101B-9F08-00AA002F954E}', false);
- Когда нужный ключ открыт, нам предоставляется возможность редактировать
его параметры. Для этого нужно использовать следующие методы: для внесения
данных в реестр - WriteString, WriteInteger, WriteFloat, WriteDate и т.д., в
зависимости от того какого типа данные мы хотим вносить; для считывания данных
из параметра - ReadString, ReadInteger, ReadFloat, ReadDate... :
В данном случае, мы хотим изменить заголовок корзины, т.е. хотим внести
данные в реестр, данные строкового типа - поэтому используем метод WriteString:
a.WriteString('', 'Мусорка');
Методу нужно указать 2 параметра: сначала имя параметра, затем заносимое
значение. В качестве имени параметра мы не указываем ничего, п.ч. в указанном
нами ключе имя корзины - это параметр по умолчанию. В качестве значения можно
указать всё, что угодно, например, 'Мусорка'.
- После того как мы сделали своё грязное дело, нужно замести следы: сначала
закрыть ключ:
a.CloseKey;
а затем освободить выделенную нами память:
a.Free;
ВСЁ! ТЕПЕРЬ МЫ МОЖЕТ СПОКОЙНО ГУЛЯТЬ ПО ВСЕМУ РЕЕСТРУ, И ДЕЛАТЬ ЖИЗНЬ БЕДНОГО
ЛАМЕРА НЕВЫНОСИМОЙ!
Другое по теме: