Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Отключить редактор системного реестра

- Дорогой, ты кого больше любишь?! Меня или эту дурацкую штуку, за которой ты проводишь целый день?!
- Ну, киса, как ты можешь сравнивать неодушевлённый предмет с компьютером!

Например мы вынесли компонент класса TCheckBox, назвали его "Использовать редактор системного реестра". Задача такова: когда флажок установлен пользователь может воспользоваться редактором реестра, когда не установлен - соответственно, не может!!!

Что нужно для осуществления этой задачи? Нужно воспользоваться ключом


HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System

создать в нём параметр:


DisableRegistryTools

и задать ему в качестве значение 1, т.е. задействовать его.

Код пишем по нажатию на самом Checkbox'e:


procedure TForm1.CheckBox1Click(Sender: TObject);
var
  H: TRegistry;
begin
  H := TRegistry.Create;
  with H do
  begin
    RootKey := HKEY_CURRENT_USER;
    OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System', true);
    if CheckBox1.Checked then
      WriteInteger('DisableRegistryTools', 0)
    else
      WriteInteger('DisableRegistryTools', 1);
    CloseKey;
    Free;
  end;
end;

Не забудьте в области uses объявить модуль Registry:


uses
  Registry; 

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay