HKEY_LOCAL_MACHINE физически содержится именно в этом файле.
Таким образом, HKEY_LOCAL_MACHINE — первый из описанных «реальный» раздел реестра, то есть имеющий под собой 'физическую природу' — файл System.dat. (HKEY_CLASSES_ROOT и HKEY_ CURRENT_CONFIG — его подразделы, а HKEY_CURRENT_USER — подраздел HKEY_USERS, второго «реального» раздела реестра).
Подраздел Config содержит в себе данные о зарегистрированных в системе аппаратных конфигурациях. Windows позволяет при регулярных изменениях состава устройств в компьютере (например, при работе с ноутбуком, который имеет «док» — присоединяемую часть с CD-ROM, модемом и др.) не устанавливать и удалять каждый раз драйверы для всех этих устройств, а создать фиксированный набор драйверов для каждого из этих составов устройств и менять эти наборы при необходимости. Такой набор называется аппаратной конфигурацией и устанавливается через окно Панель управления — Система — Конфигурации.
В настоящее время в связи с развитием новых технологий USB и др. устройств 'горячего подключения' необходимость в различных аппаратных конфигурациях почти отпала, но их поддержка в Windows присутствует.[40]
В ключе Config под своими номерами располагаются записи о всех созданных конфигурациях, а при загрузке компьютера или изменении конфигурации соответствующий раздел «отражается» в реестре под видом раздела HKEY_CURRENT_CONFIG. Если аппаратная конфигурация одна, то и в разделе Config есть только один подраздел, совпадающий с ключом HKEY_CURRENT_CONFIG.[41]
В разделе HKEY_LOCAL_MACHINEConfig находятся и некоторые настройки операционной системы. Например, в ключе Сonfig 001 (номер конфигурации)displaysettings указываются шрифты, используемые Windows по умолчанию, например, в «Блокноте». А в параметре Resolution этого раздела расположено указание на экранное разрешение. (Можете его поменять на любые цифры, хоть на 1000*200, и, если ваша видеокарта позволит, то именно такое разрешение экрана и будет.)
Подраздел DesktopManagement посвящен работе системы с библиотекой deskmgmt.dll из каталога WindowsSystem, отвечающей за работу операционной системы с процессором, памятью и другими устройствами материнской платы компьютера. Здесь записаны команды, обратившись с которыми из другой программы к этой библиотеке, можно получить соответствующие данные.
Подраздел Enum содержит информацию о распознанных операционной системой устройствах компьютера.
В Windows 9x есть несколько важных программных компонентов, отвечающих за обнаружение устройств и предоставление их для работы другим компонентам системы. Основными среди них являются два — диспетчер конфигурации и энумератор. При загрузке компьютера диспетчер конфигурации опрашивает BIOS и получает от него информацию о всех устройствах, не поддерживающих стандарт Plug&Play, а затем заносит ее в реестр, в этот самый раздел Enum. Затем в дело вступает программа- энумератор, которая считывает из реестра информацию о не-Plug&Play устройствах, а затем опрашивает имеющиеся в компьютере Plug&Play-устройства и составляет список всех имеющихся устройств, назначив каждому единственный идентификатор — так называемый HardwareID.
Затем основная роль вновь переходит к диспетчеру конфигурации, который на основании предоставляемой энумератором информации о наличии устройств и их характеристике (Plug&Play или нет) распределяет между устройствами прерывания, адреса ввода-вывода и другие ресурсы системы. В этом ему помогают специальные подпрограммы — «арбитры», которые изменяют выделяемые ресурсы так, чтобы не было ресурсов, используемых одновременно двумя устройствами.
Вначале распределяются ресурсы между не-Plug&Play устройствами (информация о которых пришла еще из BIOS), а затем — между Plug&Play, так как последние умеют работать с разными настройками распределения ресурсов без изменения своей аппаратной части, и переназначить им, например, прерывания можно программно. Все внесенные изменения фиксируются в разделе Enum, а также в разделе HKEY_LOCAL_MACHINESystemCurrentControlSet ServicesClass, содержащем совокупность информации о распознанных устройствах, а также о загруженных для них драйверах, на подразделы с данными о которых в разделе Enum имеются ссылки.
Подраздел HKEY_LOCAL_MACHINEHardware, несмотря на многообещающее название, хранит в себе немного информации о имеющихся последовательных портах и установленных на них модемах.
Подразделы Network и Security содержат малозначащие параметры сети Microsoft Network (интересно, в России кто-нибудь хоть когда-нибудь ей пользовался?).
И вот, наконец, — второй подраздел Software, на этот раз уже состоящий из универсальной для всех пользователей данного компьютера информации. Как и ранее, он состоит из разделов с именами компаний-производителей с подразделами внутри них, посвященных отдельным программам. В разделе HKEY_LOCAL_MACHINESoftwareMicrosoft расположены настройки самой Windows и ее компонентов, а также всех программ Microsoft. Например, в подразделе Active Setup этого раздела находятся параметры системы установки компонентов Windows через Internet — Active Setup. В его подразделе Installed Components вы увидите все компоненты Internet Explorer, которые вы выбирали (или нет) при установке этого браузера. В подразделе Shared Tools раздела HKEY_LOCAL_MACHINESoftwareMicrosoft находится список программ и библиотек пакета MS Office, которыми могут пользоваться другие компоненты этого пакета (скажем, 'галерея клипов', которая может быть вызвана из любого приложения MS Office), с указанием пути к каждому из них.
Но, конечно, как и в прошлый раз, самым интересным местом здесь будет подраздел Windows CurrentVersion, относящийся к операционной системе. В самом CurrentVersion, даже не в его подразделах, есть весьма полезные параметры. Скажем, именно здесь находится информация, отображающаяся в верхней части окна Панель управления — Система — Общие.
Подраздел AppPaths раздела CurrentVersion — это Windows'ский аналог параметра Path из файла autoexec.bat. Можно еще назвать его реестровым собранием ярлыков программ. Здесь можно указать пути к различным программам и имена для их запуска, а затем набирать эти имена в окне «Выполнить» для вызова этих программ, не заботясь об указании пути к ним (рис. 14.9).
Рис. 14.9.
Подраздел Explorer опять-таки посвящен программе «Проводник», но уже — ее общим настройкам. В подразделах DesktopNameSpace и MycomputerNameSpace находятся идентификаторы тех обьектов, которые должны быть расположены на Рабочем столе и в папке 'Мой компьютер', например, «Корзина» или 'Удаленный доступ к сети'. Вы можете удалить отсюда ненужные обьекты или, наоборот, добавить сюда желаемые, создав вначале для них идентификаторы в разделе HKEY_CLASSES_ROOT, как описано выше.
В параметрах подразделов LastCheck и LastOptimize (подраздела Explorer подраздела CurrentVersion) содержится информация о последнем моменте дефрагментации или проверки жестких дисков компьютера.
В подразделе Tips вы найдете все советы, отображающиеся при первом запуске компьютера с Windows (рис. 14.10). Их можно просмотреть и с помощью программы welcome.exe из каталога Windows.
Рис. 14.10.
Подраздел Fonts хранит в себе информацию об именах шрифтов и их соответствии названиям