Добавить в цитаты Настройки чтения

Страница 212 из 299

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

В разделе HKEY_ DYN_DATA находятся два подраздела. Первый из них, HKEY_DYN_ DATAConfig ManagerEnum посвящен состоянию "железа" компьютера. Если в разделе HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClass расположена информация о том, какие устройства установлены в компьютере, то в этом разделе — данные об их функционировании, о том, как они работают — исправно или нет. Информация в окне Панель управления — Система — Устройства формируется из содержимого обоих этих разделов.

Второй же раздел, PerfStats — это раздел статистики. Он связан (но не является "отражением", как, скажем, HKEY_CLASSES_ROOT) с разделом HKEY_LOCAL_MACHINESystemCurrentControlSetcontrolPerfStats (рис. 14.16) и содержит статистическую информацию по параметрам этого раздела. Можно сказать, что в HKEY_LOCAL_ MACHINESystemCurrentControlSetControlPerfStats перечислены параметры статистики системы, а в HKEY_DYN_DATAPerfStats — их Значения. Именно отсюда берет свои данные программа Системный монитор.

Рис. 14.16. Статистический центр системы. Хотите посмотреть эти данные? Не лазьте в реестр — запустите Системный монитор, и увидите то же самое.

Назначение раздела HKEY_DYN_DATA — постоянно находиться в оперативной памяти и поставлять системе информацию о состоянии устройств компьютера по первому ее требованию. Чтобы в этом случае не пришлось ничего загружать в память, а все там уже было. Можно было бы, конечно, перенести всю эту информацию в раздел HKEY_ LOCAL_MACHINE, в соответствующие ключи, но тогда быстродействие системы бы серьезно замедлилось. А так — раздел не очень большой и не содержит в себе ничего, кроме данных для системы, — ни названий, ни пояснений. Чисто служебная информация.

В системном реестре Windows 2000/ХР данный раздел отсутствует.

* * *

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

Куски реестра в файлах

При экспортировании фрагмента реестра или его всего на жестком диске создается обычный текстовый файл с расширением. reg. Файл реестра имеет жестко регламентированную структуру. На рис. 14.17 показан пример раздела реестра и он же, экспортированный в текстовый файл — обратите внимание на структуру этого файла.

Рис. 14.17. Фрагмент реестра, экспортированный в текстовый файл.





В начале любого файла с частью реестра должна находиться строка Regedit4. Строго говоря, без этой строки файл не может считаться экспортированным фрагментом реестра и превращается в простой текстовый. Дело в том, что файл реестра может быть импортирован назад в реестр не только с помощью Редактора реестра, но и путем простого двойного клика мышью на нем. По умолчанию для файлов с расширением. reg установлена команда внесения их содержимого в реестр, если файл оформлен правильно.

(Некоторые файлы с расширением. reg, содержащиеся, к примеру, в дистрибутивах каких-либо программ, могут содержать не очень корректные данные и тем самым испортить ваш реестр при внесении своего содержимого в него. Поэтому настоятельно рекомендуется в меню Вид — Параметры — Типы файлов (любой папки) найти пункт "Файл реестра" и назначить ему в качестве действия по умолчанию не объединение с реестром, а открытие, скажем, Блокнотом. При этом опасность порчи реестра при случайном двойном клике на таком файле будет предотвращена.)

Ниже команды Regedit4 находятся ключи, вносимые в реестр. Для каждого вносимого в реестр имени раздела должна быть выделена отдельная строка. Полное имя раздела (сокращения не допускаются) помещается в квадратные скобки. Имена параметров этого раздела приводятся по одному на строке, начиная за следующей сразу за именем раздела, в кавычках, рядом на той же строке — их значения. Значения строковых параметров должны приводиться в кавычках, значения параметров типа Dword — в виде шестнадцатиричной строки dword:00000000 (без кавычек), значения двоичных параметров — в шестнадцатиричной системе в виде строки hex:14,00,00,00 (без кавычек).

Если в значении строкового параметра встречается символ "", то он заменяется (в экспортированном файле реестра) на пару таких символов. Сам символ "" используется для переноса слишком длинных строк. Имя каждого раздела или подраздела, вносимого в реестр, независимо от его иерархического расположения, должно писаться полностью и на отдельной строке. Между описаниями каждого из разделов и в конце файла должно находиться по одной пустой строке. Символ "0" соответствует параметру "По умолчанию".

С помощью такого файла можно также и удалять записи из системного реестра. Для этого нужно перед именем раздела поставить знак "-": "[-НКЕY_LOCAL_MA.CHINE….]".

Если хотите более подробно поисследовать формат файлов. reg — экспортируйте большой раздел в такой файл и посмотрите, что у вас получилось.

Немного полезных советов

1. Если вы используете браузер Microsoft Internet Explorer, то наверняка знакомы с эмблемой Microsoft в правом верхнем углу окна браузера. Во время загрузки страницы эта эмблема вращается. Если хотите, можете заменить эмблему Windows на свой собственный символ. Создайте два bmp-файла — 38*1520 и 24*960 пикселов. В каждом из них нарисуйте последовательность кадров размером 38*38 и 24*24 пикселов, как, скажем, на рисунке:

Также сделайте отдельные bmp-файлы с картинками размером в 38*38 и 24*24 пикселов. А затем пропишите пути к первым двум файлам в параметрах

BrandBitmap и SmBrandBitmap раздела HKEY_CURRENT _USERSoftwareMicrosoftlnternet ExplorerToolbar, а ко вторым — в параметрах BigBitmap и SmallBitmap раздела HKEY _LOCAL_MACHINESOFTWAREMicrosoftlnternetExplorerMain. После перезагрузки браузера изображения из файлов с последова тельностью кадров будут выводится в момент путешествия по Интернет, а из файлов с отдельными кадрами — при полностью загруженной web-странице.

2. В процессе работы системный реестр из-за особенностей действий с ним операционной системы обрастает лишними двоичными данными. Они не имеют никакого значения для программ, обращающихся к реестру, но занимают место. Для того, чтобы избавиться от них, загрузитесь в Режиме MS-DOS и из командной строки запустите команду regedit /е file.reg, а когда она закончит работу — команду regedit /с file.reg. При этом реестр будет экспортирован в текстовый файл, а потом загружен обратно. Все лишние двоичные данные исчезнут, а размер реестра станет меньше. Данный прием работает исключительно в среде Windows 9х.