В последнее время в
прессе довольно много упоминается про
реестр, но в большинстве случаев
информация настолько поверхностна, что
зачастую пользователь уже сам знает то,
что расписывается листами. Я же
предлагаю немного углубиться в недра
Windows. В статье речь пойдет о Win98, так как
большинство предприятий и организаций
работают именно в этой системе.
Как известно, реестр
является очень важным звеном в системе
Win98. Без нормального состояния реестра
система просто не загрузиться. Любое
повреждение реестра вызывает множество
проблем, даже если система загружается.
Совет
Windows 98 хранит
предыдущие копии реестра в файлах USER.DA0 и
SYSTEM.DA0. Если вы при редактировании
реестра совершили ошибку, то немедленно
закройте все приложения и перезагрузите
систему в режиме MS-DOS. Перейдите в
главный каталог Windows 98. Воспользуйтесь
утилитой ATTRIB с ключами –R,–H и –S
для того, чтобы сделать файлы SYSTEM.DA0,
SYSTEM.DAT, USER.DA0 и USER.DAT видимыми. Теперь
скопируйте резервную копию реестра в
оригинальные файлы (т.е. SYSTEM.DA0 в файл
SYSTEM.DAT и файл USER.DA0 в USER.DAT). Эта процедура
восстановит реестр Windows в то состояние, в
котором он находился до редактирования.
После этого необходимо опять установить
атрибуты файлов в исходное состояние
при помощи ключей +R , +H и +S
утилиты ATTRIB.
Если рассмотреть
реестр внимательно, то можно увидеть,
что он содержит полное описание
взаимодействия системы Windows и
аппаратных средств компьютера. Реестр
Windows содержит не только настройки
аппаратного и программного обеспечения,
он также хранит любую информацию о
компьютере, которую только можно себе
представить.
Примечание
Прежде чем начинать
работу с реестром, нужно добавить в меню Пуск(Start)
редактор реестра, т.е. приложение RegEdit.
Также полезно просматривать
соответствующие разделы реестра, по
мере того, как о них будет идти речь.
Кроме того, будут представлены
некоторые упражнения, которые помогут
лучше понять внутреннее устройство
реестра.
Рассмотрим
внутреннюю организацию реестра. Для
того чтобы запустить редактор реестра
откройте RegEdit.
В редакторе реестра
есть две панели, в этом он похож на
проводник Windows. Элементы, отображаемые в
левой панели, являются ключами, а в
правой панели– значениями. Значение–
это содержимое реестра, подобно абзацам
в книге. Существует три типа значений:
string(строковой тип), binary(двоичный тип), и
DWORD(значение типа DWORD). Строковой тип
является единственным типом,
воспринимаемым человеком. Бинарные
значения и значения типа DWORD содержат
данные, которые воспринимает компьютер.
Значения этих типов отличаются по
размеру.
При работе с реестром
я всегда поступаю очень осторожно.
Читателю необходимо следовать
процедуре резервного копирования,
прежде чем делать что-либо. Файл
резервной копии можно использовать, для
того чтобы восстановить реестр. К
сожалению, резервная копия реестра не
поможет если реестр удален полностью и
машина перезагружена. Для загрузки Windows
98 необходим неповрежденный реестр. Для
того чтобы иметь всегда работающую
копию реестра необходимо копировать
файлы USER.DAT, SYSTEM.DAT.
ВНИМАНИЕ !!!
Автор не несет
никакой ответственности за ваши
возможные некорректные действия с
реестром. RegEdit является приложением
которое разработано для того, чтобы
опытные пользователи могли изменять
поведение Windows 98 и приложений. Хотя RegEdit
позволяет повысить производительность
системы, при неправильном использовании
этого редактора могут получиться
непредсказуемые результаты. Никогда не
следует редактировать реестр, не
представляя четко, за что отвечает
редактируемый элемент реестра.
Пренебрежение этим предупреждением
может привести к потере данных и даже к
невозможности загрузки операционной
системы Windows 98.
1. Выделите элемент
реестра Мой компьютер (my Computer).
Выберите команду Реестр, Экспорт
файла реестра, (Registry, Export Registry File).
Появиться диалоговое окно Экспорт
файла реестра (Export Registry File), не
забудьте выбрать переключатель Все
разделы(All) в группе Диапазон
экспорта (Export Range). Поле Имя файла (File
Name) уже будет содержать имя, но можно
ввести любое необходимое имя.
2. Нажмите кнопку Сохранить
(Save) , чтобы сохранить копию реестра
на жестком диске.
После того как
сохранена копия реестра, рассмотрим его
структуру.
Раздел HKEY_CLASSES_ROOT
В разделе HKEY_CLASSES_ROOT
содержаться ключи двух главных типов.
Первый тип ключей хранит информацию о
расширении файла. Таким способом
хранятся все трехбуквенные расширения
имен файлов, например MP3 или JPG, которые
когда-либо использовались. Windows 98 все еще
использует их для определения типа
файла. (Так как Windows 98 поддерживает
длинные имена файлов, то, используя этот
раздел можно создать ассоциацию для
файлов с расширением более чем три
символа.) Реестр также использует
расширения для того, чтобы связать тип
файла с определенным действием.
Например, хотя пользователь не может
ничего сделать с файлом, имя которого
имеет расширение DLL, это расширение
все равно храниться в реестре, т.к. Windows 98
нужно знать о том, что файл с расширением
DLL является исполняемым файлом. Второй
тип ключей представляет собой
собственно ассоциацию. Расширение имени
файла обычно указывает на файл данных
определенного приложения. В разделе,
описывающем ассоциацию, находятся ключи,
ключи которые используются в
контекстном меню Проводника (Explorer).
Контекстное меню вызывается нажатием
правой кнопки мыши. Ассоциация также
содержит информацию о том, какой значок
выводить для данного типа файла.
Раздел HKEY_CURRENT_USER
Раздел HKEY_CURRENT_USER
содержит множество настроек
программного обеспечения, которые
содержат информацию о конфигурации
рабочего стола и клавиатуры. Кроме того,
этот раздел содержит информацию о
параметрах меню Пуск. Все настройки,
специфичные для пользователя, хранятся
в этом разделе.
Раздел HKEY_CURRENT_USER
полностью посвящен настройкам текущего
пользователя, т.е. того пользователя,
который в настоящий момент
зарегистрирован в системе. Это
отличается от пользовательской
конфигурационной информации, которая
храниться в других разделах реестра.
Информация в этом разделе является
динамической; информация в других
разделах, которая относиться к
пользовательским настройкам–
статическая. Реестр копирует содержимое
одного из подразделов в разделе HKEY_USERS
в данный раздел и по окончании работы
обновляет раздел HKEY_USERS.
В разделе HKEY_CURRENT_USER
Windows 98 получает новую информацию о
настройках системы, а также сюда
помещаются любые изменения, которые
были сделаны. Все, что храниться в этом
разделе, служит только для настройки
системы для нужд пользователя, но
никогда не содержит системной
информации (например, описание драйвера
устройства).
Раздел HKEY_LOCAL_MACHINE+
В разделе HKEY_LOCAL_MACHINE
содержаться основные сведения об
аппаратных средствах компьютера,
включая драйверы устройств и
конфигурационную информацию. Если
информации о каком-либо устройстве нет в
этом разделе, то Windows 98 не сможет
использовать его.
В этом разделе
хранится очень подробной информации об
аппаратном обеспечении. Например, этот
раздел содержит всю информацию,
необходимую для Plug and Play. Также он
предоставляет полный список драйверов
устройств и их уровни ревизии(revision level).
Этот раздел может содержать даже
информацию о ревизии самого аппаратного
обеспечения.
Также этот раздел
содержит некоторую информацию о
программном обеспечении, имеющую
глобальный (не пользовательский)
характер. Например, 32-разрядное
приложение будет хранить таблицу
установок и форматов (Setup and Format Table– STF)
именно здесь. Эта информация
используется приложением во время
установки. Некоторые приложения
используют эту информацию также во
время изменений параметров их установки.
Такие приложения, как Word, хранят всю
информацию о своей установке в таблицах
STF. В этом разделе содержится только та
информация, которая имеет глобальный
характер.
Раздел HKEY_USERS
Раздел HKEY_USERS содержит
список всех пользователей данного файла
реестра. Необходимости в изменении
информации этого раздела никогда не
возникает, но его можно использовать в
справочных целях. Причина, по которой
нужно следовать этим указаниям, проста:
ни одно изменение не войдет в силу до тех
пор, пока пользователь не
зарегистрируется в системе следующий
раз. Кроме того, изменение настроек для
текущего пользователя является пустой
тратой времени, потому что Windows 98
заменяет все данные в соответствующем
разделе данными, которые содержатся в
разделе HKEY_CURRENT_USER, во время завершения
сеанса или при завершении работы
системы.
Существует еще одна
проблема, связанная с использованием
этого раздела в качестве единственного
источника информации. На самом деле Windows
98 поддерживает несколько копий реестра
в многопользовательской среде– в
некоторых случаях отдельную копию для
каждого пользователя. По этой причине
никогда нельзя быть уверенным, где
именно можно найти информацию об
определенном пользователе. Windows 98
отслеживает эту информацию;
необходимость поиска такой информации
представляет головную боль для
администратора. Сверх того, Microsoft
поставляет утилиту, которая помогает
администратору сети поддерживать
различные реестры. Редактор системных
правил(Policy Editor) позволяет упростить
для администратора сети управление
пользовательскими настройками, при этом
является удобным средством доступа к
нужным параметрам системы, которые
распределены по различным разделам
реестра.
Когда пользователь
регистрируется в системе, Windows 98
копирует информацию из его профиля в
раздел реестра HKEY_CURRENT_USER. Когда
пользователь выходит из системы или
завершает работу, Windows 98 заменяет
информацию в разделе, соответствующему
данному пользователю, информацией из
раздела HKEY_CURRENT_USER.
Раздел HKEY_CURRENT_CONFIG
Раздел HKEY_CURRENT_CONFIG
представляет собой самую простую часть
реестра. Он содержит два главных раздела:
Display и System. По существу эти
разделы используются программным
интерфейсом GDI API (не буду подробно
останавливаться на его описании т.к. эта
тема отельной статьи) для конфигурации
монитора и принтера.
Раздел Display имеет
два подраздела: Fonts и Setting. Раздел
Fonts определяет шрифты, которые Windows 98
использует для вывода на экран. Имеются растровые
шрифты( не True Type), которые представляют
собой битовые изображения символов.
Раздел Setting содержит
текущее разрешение экрана и количество
битов на пиксель. Количество битов на
пиксель определяет доступное
количество цветов. Например, 4 бита на
пиксель обеспечивает 16 цветов, 8 битов на
пиксель обеспечивают 256 цветов. Три
шрифта, перечисленных в этом разделе,
являются шрифтами по умолчанию, которые
система использует для отображения
значков и меню приложений. Эти настройки
можно изменить в диалоговом окне
свойств экрана.
Раздел System производит
впечатление чего-то запутанного. Однако
только один подраздел этого раздела
имеет смысл для пользователя – Printers.
Раздел Printers содержит список
принтеров, подсоединенных к системе.
Этот список не включает принтеры,
которые используются по сети.
Раздел HKEY_DYN_DATA
Раздел HKEY_DYN_DATA
содержит два подраздела: Config Manager и PerfStats.
Просмотреть статус ключа Config Manager можно
при помощи вкладки Устройства(Device
Manager) диалогового окна свойств системы.
Значения ключей из раздела PerfStats
отображаются в интерфейсе утилиты System
Monitor.
Изучив каждый пункт
реестра и сделав резервную копию оного,
приступим к экспериментам над ним.
Ускорим меню пуск.
Для этого В ключе HKEY_CURRENT_USER\Сontrol Panel\desktop
создайте переменную MenuShowDelay типа String.
Присвойте ей значение "0". Теперь
меню пуск будет открываться намного
быстрее.
Если нужно, то можно
отменить пункты меню Find и Run в
меню Start. В ключе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
создайте переменные NoFind для отмены Find и
NoRun для отмены Run типа DWORD.. Присвойте
переменным значение 1. Далее предлагаю отменить
вывод всех пиктограмм на рабочий стол,
если нужно конечно. Делаем следующее в
ключе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
создайте переменную NoDesktop типа DWORD.
Присвойте переменной NoDesktop значение 1.
Отмена просмотра
списка дисков в My Computer. В
ключе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
создайте переменную NoDrives типа DWORD.
Присвойте переменной NoDrives значение 3FFFFFF.
Выключение
анимации для окон.
В ключе HKEY_CURRENT_USER\Control
Panel\Desktop\WindowMetrics создайте переменную
MinAnimate типа String. Значение MinAnimate "0"
выключает анимацию,"1" включает.
Далее предлагаю
рассмотреть прочие хитрости реестра. С
помощью реестра можно узнать версию Windows,
для этого откройте ключ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.Переменная
типа String VersionNumber содержит версию Windows. Получение
путей к системным каталогам. Откройте
ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.
Путь к каталогу Program
Files содержиться в переменной ProgramFilesDir.
Путь к каталогу Common
Files содержиться в переменной CommonFilesDir.
Путь к каталогу Windows
содержиться в переменной SystemRoot.
Путь к каталогу Media
содержиться в переменной MediaPath.
Путь к каталогу Config
содержиться в переменной ConfigPath.
Путь к каталогу INF
содержиться в переменной DevicePath.
Получение списка
шрифтов и путей к ним.
Откройте ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts.
Каждая переменная этого ключа
представляет собой имя шрифта. Значение
переменной представляет собой путь к
шрифту. Вряд ли вам это может
пригодиться в реальной работе, но в
качестве справочной информации вполне
приемлемо. Получение списка shared
библиотек. Откройте ключHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShardDLLs.
Каждая переменная этого ключа
представляет собой путь к shared
библиотеке. Значение переменной
означает количество программ, которые
используют эту библиотеку. Далее
переходим к удалению программ из
списка Add/Remove Programs. Этот момент, на
мой взгляд, является довольно важным, т.к.
многие программы после деинсталляции
все равно оставляют запись в меню Add/Remove
Programs. Это очень мешает, если нужно быстро
удалить программу, при наличии большого
количества установленных программ.
Откройте ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
Уничтожайте любую
программу, которая вам не нужна.
Добавление программ
для одного запуска во время загрузки
Windows. Откройте ключ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce,
если вы хотите, что бы программа
запустилась один раз при загрузке Windows,
после запуска сетевых сервисов.
Добавьте переменную с любым именем и
значением типа String. В значении
переменной напишите полный путь к
программе.
|