Структура на регистъра

Системният регистър е база данни за регистрация, която съхранява различни настройки на ОС и приложения. В по-ранните версии на Windows всички настройки (конфигурационни настройки) са били запазени в информационни файлове (INI файлове), точно както в повечето приложения на Windows. Windows обаче се промени и сега тези файлове не се използват от операционната система. има регистър, който представлява цялата йерархия, необходима за управление на такава сложна операционна система (Фигура 1).

резюме

Фиг. 1. Регистърът използва много компоненти на Windows

Първоначално регистърът беше предназначен само за съхраняване на информация за OLE (Object Linking and Embedding) обекти и асоцииране на приложения към разширения на имена на файлове, но по-късно неговата структура и обхват на използване се разшириха.

1. Регистърът също така осигурява работа в мрежа и позволява на отделните потребители да запазват своите общи настройки, така че приложенията да могат да персонализират потребителския интерфейс за конкретен потребител. Данните в регистъра могат да се съхраняват централно и да се импортират в системния регистър на работна станция по време на регистрацията на потребителя в системата. По абсолютно същия начин системният администратор има отдалечен достъп до системните регистри на работни станции за разрешаване на конфликти.

2. Използвайки системния регистър, можете да свържете определени действия на черупката (по-специално отваряне и отпечатване) със съответните типове документи. И когато потребителят щракне с десния бутон върху иконата на документ в Windows Explorer, тогава се появява контекстно меню, което изброява определени програмни действия.

3. Възможност за OLE регистрация, поддръжка на локализирани версии на приложения, използване на мрежови протоколи и обвързване и поддръжка за автоматична конфигурация на приложения.

Форматът за показване на данни в системния регистър е много подобен на начина, по който се показват папките и документите в Windows Explorer. Това отчасти се дължи на факта, че структурата на системния регистър е подобна на структурата на директориите (Фиг. 2).

регистъра
резюме

Фиг. 2. Структура на регистъра

Ако използваме терминологията, използвана в системния регистър, тогава ПАПКАТА ИЛИ ДЕКОРАТИВНИЯТ ЕКВИВАЛЕНТ тук е КЛЮЧ или РАЗДЕЛ (КЛЮЧ), а ДОКУМЕНТ ИЛИ ФАЙЛ съответства на ПАРАМЕТЪР (СТОЙНОСТ). Секциите могат да съдържат както подключове, така и параметри (фиг. 3). В горната част на тази йерархия са главните ключове.

резюме
резюме

Всеки ключ може да съдържа както ключове от по-ниско ниво, така и елементи с данни за листа. Ако е необходимо, приложението отваря ключа и използва съхранените в него данни. Ключовете, съдържащи се в други ключове, се наричат ​​подключове на този ключ.

Фигура 4 показва връзката между ключовете и стойностите в системния регистър.

Системните регистри на Windows използват обща дървовидна структура. Това означава, че в приложения, написани за различни версии на Windows, може да се предположи, че данните се съхраняват на споделени места, в зависимост от конкретния тип.

Фигура 5 показва най-горното ниво на системния регистър на Windows, а Таблица 1 изброява коренните клонове на системния регистър, както и тяхната цел и връзка с други клонове.

структура

Таблица 1 Основни ключове на системния регистър

Този раздел съдържа дефиниции на типове документи, файлови връзки и интерфейса на черупката.

В Windows NT/9x този ключ е част от ключа HKLM.

В Windows XP информацията за регистрация на клас се съхранява както в ключовете HKEY_LOCAL_MACHINE, така и в HKCU. В този случай ключът HKCR комбинира съдържанието на посочените ключове в една папка

Нека разгледаме съответните раздели по-подробно.

Приложението на Windows трябва да използва системния регистър, за да съхранява следните класове в ключа HKEY_CLASSES_ROOT:

Видове документи. Това са различните видове документи, които конкретно приложение манипулира.

Идентификатор на класа. OLE. Това е клас OLE, който е специфичен за приложението. По време на инсталирането на това приложение, то трябва да бъде регистрирано в OLE.

Имена на команди OLE. Това е протоколът OLE. Всяко име на команда описва действие, което даден обект може да изпълни. Например MPLAYER ви позволява да възпроизвеждате .WAV аудио файл.

Протоколи за команден процесор. Това са действия, които могат да бъдат извикани от черупката. Възможните варианти за действие се показват в контекстните менюта, които се показват, когато потребителят щракне с десния бутон върху иконата на документ.

Иконата, която се показва за показване на документа. В този случай трябва да се предоставят две пиктограми - голяма и малка. И ще се използва този, който потребителят дава най-много предпочитания.

Когато разглеждате този клон, трябва да обърнете специално внимание на ключовете на черупката, съдържащи следните три подключа:

отворен - съдържа командата, използвана за отваряне (или стартиране) на документ;

print - съдържа команда, която изпраща документ за печат;

printto - съдържа специален интерфейс, който ви позволява да изпратите документ на принтера чрез плъзгане и пускане.

Всеки от тези подключове има подраздел, наречен команда. Всеки ключ на имена на команди може да бъде регистриран като ключ на черупката. Тези имена на команди се появяват в контекстното меню, което се появява всеки път, когато потребителят щракне с десния бутон върху иконата на документ.

Разделът HKEY_CURRENT_USER съдържа много софтуерни настройки, които съхраняват информация за конфигурацията на работния плот и клавиатурата. Освен това този раздел предоставя информация за опциите на менюто "Старт". Тук са всички специфични за потребителя настройки.

Разделът HKEY_CURRENT_USER е изцяло посветен на настройките на текущия потребител, т.е. потребителят, който в момента е регистриран в системата. Това е за разлика от информацията за персонализирана конфигурация, която се съхранява в други ключове на системния регистър. Информацията в този раздел е динамична; информацията в други раздели, свързана с потребителските предпочитания, е статична. Регистърът копира съдържанието на един от подключовете от HKEY_USERS в този подраздел и, когато приключи, актуализира подключа HKEY_USERS.

По-долу е дадено кратко описание на подключовете на главния раздел HKEY_CURRENT_USER (Таблица 2).

Таблица 2 HKEY_CURRENT_USER подключове на коренния ключ