Внимание! Никогда не
модифицируйте переменные реестра, если
не знаете совершенно точно, для чего они
предназначены. Никогда не удаляйте и не
переименовывайте разделы реестра, если
не уверены в своих действиях на все 100%.
Информация, содержащаяся в реестре,
является критичной для работы
приложений и системы в целом.
Немного теории
Реестр - это централизованное хранилище
данных, которым пользуется операционная
система и приложения для хранения самой
разнообразной информации. Почти любая
программа должна сохранять какие-либо
свои настройки, имена файлов,
открывавшихся пользователем в
последнее время, и т.д. Раньше, в Windows 3.x,
вся эта информация хранилась в ini-файлах.
Свой ini-файл имело каждое уважающее себя
приложение. Сама же операционная
система основную массу своих настроек
сохраняла в файлах win.ini и system.ini. В
настоящее время Microsoft рекомендует
разработчикам ПО не использовать ini-файлы,
а пользоваться вместо них реестром. Хотя
win.ini, system.ini и некоторые другие системные
ini-файлы до сих пор существуют в Windows в
целях совместимости со старыми
программами, подавляющее большинство
системных данных хранится в реестре.
Реестр представляет собой базу данных,
имеющую древовидную структуру. "Корнем"
этого дерева являются шесть разделов (root
keys):
[HKEY_CLASSES_ROOT]
[HKEY_CURRENT_USER]
[HKEY_LOCAL_MACHINE]
[HKEY_USERS]
[HKEY_CURRENT_CONFIG]
В каждом из этих разделов также
содержатся разделы (keys), в них - разделы
следующего уровня и т.д. В разделах
хранятся значения (values), которые могут
иметь строковый тип (String Value), двоичный
тип (Binary Value) и целочисленный тип (DWORD Value).
Давайте заглянем внутрь реестра, чтобы
лучше разобраться в назначении
различных его разделов. Сделать это
проще всего с помощью утилиты Regedit.exe,
находящейся в директории Windows.
Итак, начнем наше путешествие по реестру.
Откроем первый корневой раздел - [HKEY_CLASSES_ROOT].
В нем содержится информация о
зарегистрированных типах файлов. Найдем
раздел с информацией о bmp-файлах. В
разделе .bmp мы видим следующие
переменные: Default = "ACDC_BMP"Content Type = "image/bmp"
Эти переменные содержат поясняющую
информацию о данном типе файла.
Разумеется, на вашем компьютере
содержимое данного раздела реестра
может несколько отличаться от
приведенного здесь. Например, строку "ACDC_BMP"
вставил вьювер "ACD See". Далее в этой
статье мы будем искать в реестре данные,
относящиеся именно к этой программе (разумеется,
вместо нее вы можете использовать любую
другую). Находим раздел "ShellEx", в
котором находится еще один раздел,
название которого представляет собой 32-значный
номер. В этом разделе находится
строковая переменная, содержащая другой
32-значный номер. Наличие раздела ShellEx
означает, что для данного типа файла в
системе установлено расширение
оболочки (Shell Extension), а номер,
представляющий собой название раздела и
значение вышеупомянутой строковой
переменной, служит для однозначной
идентификации объекта - обработчика (в
данном случае - встроенной в оболочку
Windows 98 программы просмотра). Точно такой
же подраздел ShellEx есть в разделах .jpg, .jpeg,
.gif, .htm, .html и в некоторых других.
Следующий подраздел - ShellNew -
предназначен для того, чтобы вы могли
создать новый файл с расширением *.bmp
прямо из оболочки Windows. Подраздел UndoClass
также связан с расширением оболочки. Но
как же данное расширение файла связано с
открывающим его приложением? Очень
просто. В рассмотренном выше разделе
".bmp" (и в других аналогичных)
имеется строковая переменная "(Default)",
имеющая некое значение, в случае с нашим
bmp-файлом - "ACDC_BMP". Это значит, что
где-то ниже существует раздел с таким
именем. И действительно, он есть. В
разделе ACDC_BMP имеется одна строковая
переменная, содержащая развернутое имя
данного формата файла. Именно это имя мы
и увидим в окне "Properties" любого BMP-файла.
В подразделе "DefaultIcon" можно увидеть
путь к файлу, содержащему значок для
данного расширения. Это может быть файл *.ico,
*.exe или *.dll. В подразделах "Edit", "Open"
и "View" мы сможем найти информацию о
приложениях, предназначенных для
выполнения соответствующих операций. В
данном случае для операций "Open" и
"View" указан путь к самому ACDSee, а для
редактирования файла предназначен MSPaint.
Изменив соответствующие переменные в
этих разделах реестра, вы можете
назначить для операций с файлом любую
другую программу. Более того, вы можете
добавить раздел, к примеру, "Print",
указав в нем путь к приложению, "умеющему"
печатать BMP-файлы.
Перейдем к корневому разделу реестра [HKEY_CURRENT_
USER]. Здесь, в подразделе "Software",
программы хранят данные о своей текущей
конфигурации. Естественно, у каждой
программы эти данные свои и о назначении
большинства из них знает только
разработчик данного приложения. Однако
с некоторыми настройками в случае
необходимости можно
поэкспериментировать - только
запаситесь дистрибутивом программы. В
этом же разделе Windows хранит настройки
рабочего стола.
Следующий раздел реестра: [HKEY_LOCAL_MACHINE]. В
этом разделе Windows хранит данные о
конфигурации аппаратных средств - поле
для экспериментов, мягко говоря, не
лучшее. В этом разделе тоже есть
подраздел "Software". Здесь для каждой
программы записан номер ее версии, имя
пользователя, различная
регистрационная информация. Зайдя в
раздел "Microsoft", мы обнаружим просто
колоссальный перечень различных
компонентов операционной системы -
начиная от DirectX и заканчивая JavaVM. Вот
здесь можно копаться много и долго -
особенно в разделе Windows/CurrentVersion. В нем,
например, в подразделе "Fonts"
перечислены все установленные в системе
шрифты, а в подразделе "Run" -
программы, запускаемые при старте Windows (вы
можете сами записать туда что-нибудь).
Далее идут [HKEY_USERS], [HKEY_ CURRENT_CONFIG] и [HKEY_DYN_DATA].
В них содержатся различные настройки
Windows, в основном относящиеся к системе Plug
and Play. Обычные прикладные программы, как
правило, в эти разделы никаких данных не
помещают.
Практическая работа
Для работы с реестром необходимо
запустить программу, которая позволяет
редактировать реестр. Для этого надо
тыкнуть в "Пуск", затем кликнуть на
"Выполнить" и набрать regedit. Реестр
Windows решает проблему централизованного
хранения всех параметров настройки и
инициализации системы. Реестр
использует только два файла: USER.DAT и
SYSTEM.DAT. Назначение этих файлов различно:
первый из них предназначен для хранения
информации о конкретных пользователях,
а второй - для хранения параметров
системы. При запуске Windows происходит
автоматическое резервное копирование
текущих файлов реестра. Файлы резервных
копий получают имена SYSTEM.DA0 и USER.DA0. Эта
процедура предоставляет вам
виртуальную гарантию того, что при
следующей перезагрузке системы Windows
будет иметь "хорошие" копии файлов
реестра. Если реестр оказался
испорченным, то для его восстановления
загрузитесь с системной дискеты и
выполните следующие команды:
C:
CD \WINDOWS
attrib -r -h -s system.dat
attrib -r -h -s system.da0
ren system.dat system.bad
ren system.da0 system.dat
attrib -r -h -s user.dat
attrib -r -h -s user.da0
ren user.dat user.bad
ren user.da0 user.dat
Это должно восстановить реестр в том
состоянии, в котором он находился, когда
вы в последний раз успешно загрузили
Windows 9x. К сожалению, эта процедура не
является полностью защищенной от сбоев,
так как файлы *.DA0 могут быть повреждены
во время сеанса работы Windows.
Обновление реестра
Если Вам надо обновить реестр, а
перезагружать машину не хочется, то
нажмите <Ctrl>+<Alt>+<Del>, выберите
explorer (проводник) и нажмите кнопку end task (снять
задачу). На предложение выключить машину
ответьте отказом, после чего нажмите end
task в следующем окне.
Вскоре после этого Вы увидите, что task bar (системная
панель) снова появилась.
Виталий Герасевич
Источник: http://www.nestor.minsk.by/kg
|