C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 12 - Реестр Windows. Обзор / С++ Builder 5 / Borland C++

Шаг 12 - Реестр Windows. Обзор

Всем знаком реестр Windows. Этакая общая база для операционки и ее приложений. В принципе большинство программистов копались с реестром, у некоторых нормально обошлось, у других не очень. Но это неважно. Главное, всегда делать резервную копию. Вот о них мы и поговорим.

В общем случае пользователь редактирует реестр с помощью утилиты regedit. Она запускается легче всего через Пуск-Выполнить..., где в окне впечатывается regedit. После этого Вашему взору должно предстать что-то вроде этого:

gif/12_1.gif (5705 b)

В левой части иерархическая структура реестра - разделы, подразделы. Как видно, он имеет иерархическую структуру. В принципе это похоже на окно проводника. В левой части окна видны параметры. У каждого раздела есть параметр по имени "По умолчанию" или в английской версии "Default". Я, когда в первый раз это услышал, удивился - как же программы смогут считывать его значение, если в разноязычных версиях у него разные имена? Однако выяснилось, что это регедит как бы облегчает пользователям жизнь - настоящее имя параметра "". На самом деле интернационально ;).

В реестре есть шесть главных разделов - HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOACAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA. Я их юуду называть сокращенно, например HKLM означает HKEY_LOCAL_MACHINE. HKCR содержит информацию в основном о файлах, документах OLE и прочем. В нем хранятся такие полезные вещи, как информация о файле по расширению - иконка по умолчанию, контекстное меню, команда выполнения по двойному щелчку.

HKCU хранит информацию о текущем пользователе. Если не ошибаюсь, этот раздел строится динамически по загрузке Windows. В нем, как и в HKLM и HKU, есть раздел Software/CLASSES, содержащий практически ту же информацию, что и HKCR. Раздел HKLM, как и положено по названию, хранит информацию об установленных программах и его настройках.

HKU - информация, относящаяся ко всем пользователям. Несмотря на, казалось бы, ответственную функцию, в его раздел .Default обычно кидают программы всякую дрянь, которую в другие места бросить стыдно.

HKCC содержит, как понятно, информацию и текущей конфигурации. Правда, у обычных пользователей эта конфигурация обычно одна, но неважно. Вообще в этом разделе ничего интересного практически нет, поскольку если с другими разделами копаться более-менее безопасно, то здесь я делать это не рекомендую.

HKDD - раздел, который строится динамически по мере загрузки Windows. В NT 2000 через него можно было что-то поменять, а в 9x в нем хранятся в основном PnP настройки и все в таком роде. Этот раздел частично создается из других.

В общем-то это и есть иерархия знаменитого реестра. В C++Builder довольно унифицированная система управления реестром, через специальный класс TRegistry. Работа с реестром в основном заключается в считывании определеннных параметров и их записи и создания и удаления разделов. Этот класс все это позволяет. Нужно сказать, что значения параметров в реестре могут быть строкового, двоичного и типа double word. Последний эквивадентен int.

Класс TRegistry будет подробно рассмотрен в следующем Шаге.


| |
Автор Аванесов Самвел.
[AD]