скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как из Delphi влиять на реестр (Изменить заголовок корзины)




- Что такое "Мелкие мягкие делишки для маленьких мягких окошечек"?
- Microsoft Works for Microsoft Windows.

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

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

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

uses
  Registry;

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

var
  a: TRegistry;

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

a := TRegistry.Create;

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

a.RootKey := HKEY_CLASSES_ROOT;

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

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

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

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


a.WriteString('', 'Мусорка');

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

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

a.CloseKey;

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


a.Free;

ВСЁ! ТЕПЕРЬ МЫ МОЖЕТ СПОКОЙНО ГУЛЯТЬ ПО ВСЕМУ РЕЕСТРУ, И ДЕЛАТЬ ЖИЗНЬ БЕДНОГО ЛАМЕРА НЕВЫНОСИМОЙ!






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook