Новости

Введення в реєстр Windows NT 4.0 і Windows 95

Реєстр, що ж це таке? Звернемося до довідки: на думку самої операційної системи, це "база даних, в якій зберігається інформація про конфігурацію комп'ютера, що складається з гілок і містяться в них розділів, кущів і параметрів". У комп'ютерному світі для позначення складових реєстру використовуються дуже різні терміни: дерева, піддерева, ключі, гнізда, вулики, параметри-значення. Визначення, використані в цій статті, наведені на малюнку.

Ідея реєстру виникла не на порожньому місці. Більшість прикладних програм для DOS зберігають інформацію про своєму налагодженні в так звані конфігураційні файли. Як приклад можна привести "Севік" від ігор, тобто файли з інформацією про кількість зброї, боєприпасів, рівні поточного гравця. Вони мають двійковий формат і не зовсім зручні для користувача редагування. Цей формат незручний і для програмістів, при зміні його структури доводиться переписувати ділянку коду програми, що відповідає за збереження налаштувань в такий файл. Логічним продовженням з'явилися ini (initialize) файли. Інформація зберігається в них в текстовому виді. Легко модифікується будь-яким текстовим редактором, що не залишає форматуючих символів. Стандарт на такі файли ввела Windows в своїх ранніх версіях. Їх формат дуже простий: назва секції в квадратних дужках, з нового рядка назва ключа і його значення. Операційна система (ОС) містить сервісні функції для запису / читання таких файлів (Get / SetPrivateProfileXXX). Незважаючи на зручність адміністрування, у них є свої недоліки. Щоб додаток "знайшло" свій ініціалізації файл він повинен знаходитися в тому ж каталозі, що і додаток, або в каталозі, який вказаний в системній змінній PATH. Всі каталоги туди не внесеш, тому каталог SYSTEM в Win3.X в міру інсталяції нових програм просто перетворюється на звалище таких файлів, де вже важко зрозуміти, потрібен цей файл чи ні. Накладалося обмеження і на розмір самого ini-файлу, він повинен бути менше 64 Кb. Пошук необхідного ключа відбувається досить повільно, системні функції Windows послідовно перебирають рядки. Дані в ini-файлі не мають типу. При зберіганні числових значень необхідно переводити рядок в число при читанні та навпаки при записі. Це легко породжує помилки, особливо при нестандартної записи, наприклад: "Server Name = 127.0.0.1". Певним прообразом реєстру в сучасному розумінні може служити Registration Database з Win3.1, вона призначена для реєстрації файлових типів і управління ними. Інформація зберігається в файлі REG.DAT, доступ до неї відбувається з Regedit.exe.


Резервне копіювання

При роботі з реєстром слід дотримуватися максимальної обережності, тому що невірним значенням ОС легко пошкодити або порушити роботу будь-якої її складової частини. Перед початком будь-якої роботи з реєстром непогано створювати його резервну копію. Якщо згодом виникнуть будь-які проблеми, нею можна скористатися для відновлення системи. У Win95 це файли SYSTEM.DAT та USER.DAT в каталозі "C: \ WINDOWS". При завантаженої ОС копіювання неможливо, тому що вона використовує їх в монопольному режимі. Що б це обійти, скористайтеся завантажувального дискеткою з DOS, за умови, що Win95 стоїть на FAT. З NT трохи складніше, копіювати необхідно всі файли, без розширення, з каталогу "% SystemRoot% \ System32 \ config". Якщо система стоїть на диску з NTFS, він під DOS невидимий, в цьому випадку можна скористатися драйвером NTFSDOS.EXE ( www.winternals.com ). Набагато складніше при краху системи перенести скопійовані файли назад, в цьому випадку допоможе тільки інша копія WinNT, в Win95 можна скористатися дискеткою з DOS. Якщо все-таки система зазнала краху, а резервної копії немає, можна використовувати "останню вдалу конфігурацію" (last known good). Це - копія файлів реєстру, яку робить сама система. У разі Win95 - USER.DA0 і SYSTEM.DA0, в WinNT це файли з розширенням * .alt в каталозі "% SystemRoot% \ System32 \ config".

Розподіл кореневих ключів по файлах Windows NT Windows 95 System HKEY_LOCAL_MACHINE \ SYSTEM USER.DAT, SYSTEM.DAT Software HKEY_LOCAL_MACHINE \ SOFTWARE Security HKEY_LOCAL_MACHINE \ SECURITY Sam HKEY_LOCAL_MACHINE \ SAM Default HKEY_USERS \ .DEFAULT Userdiff HKEY_USERS \ * інше NTUSER.DAT HKEY_CURRENT_USER


Редактори

У складі WinNT і Win95 поставляється кілька програм для редагування реєстру. В NT входять дві програми: традиційна, що перейшла з NT 3.51 - regedt32.exe і нова - regedit.exe, забезпечена інтерфейсом а-ля "Провідник". Вона володіє кращими засобами пошуку, але не має доступу до всіх ключам і підключити. У Win95 тільки одна, regedit.exe. Вона може працювати в графічному і командному режимі. У командному режимі можна імпортувати і експортувати файли сценарію. Розглянемо regedit з NT більш докладно. У ній використовуються три основні типи даних: подвійне слово (DWORD), рядок (string) і виконавчі значення (binary). Реєстр підтримує і інші, рідше використовуються типи даних: масиви рядків, символічна посилання в форматі Unicode, але вони доступні тільки через API реєстру, тому не рекомендується використовувати regedit для цих типів даних. Працювати з нею досить просто, розгорнути розділ - клікнути по вузлу дерева (піктограммка плюсик), команди пошуку, видалення, перейменування, створення ключів і подключей доступні з основного і спливаючого меню. Найбільш важливі функції - це експорт / імпорт частини або всього реєстру в файл (імпорт всього реєстру неможливий). Редактор дозволяє підключатися до реєстру іншого ПК, що знаходиться в мережі, якщо у даного користувача на те достатньо повноважень (Реестр-> Підключити мережевий реєстр). Одна з найцікавіших особливостей - файли сценарію. Файл сценарію - це текстовий файл з командами для regedit.exe. Такі файли можна використовувати для створення ключів, подключей та названих параметрів. На жаль, сценарії не дозволяють видаляти розділи. Файл сценарію повинен мати розширення * .reg. Найбільш швидкий шлях створення: стати на гілку в regedit і вибрати в меню Реестр-> Експорт реєстру. Буде створено шаблон, який потім легко відредагувати для власних потреб. У заголовку файлу повинна стояти команда "REGEDIT4". Назви розділів полягають в квадратні дужки, при створенні підрозділу його батьківський розділ може і не існувати. Коли виконується файл сценарію, створюється як батьківський, так і всі дочірні розділи. Значення за замовчуванням (default) визначаються через "@", наприклад: [HKEY_CLASSES_ROOT \ .cpp] з нового рядка @ = "cppfile". У сценаріях можна використовувати тільки три типи даних: числові (DWORD), виконавчі (hex) і рядки. Ось приклад їх створення: "String" = "full", "Integer" = dword: 1999, "Binary" = hex: 192,76,99,157, подвійні лапки обов'язкові. Запустити такий файл можна, імпортувавши в regedit або двічі клацнувши на ньому в "Провіднику".

Створимо файл сценарію, який змінює процес індивідуальної реєстрації в WinNT. При завантаженні машини виводиться вікно з текстом, визначеним у "LegalNoticeCaption" - заголовок і "LegalNoticeText" - саме повідомлення. Далі відбувається автоматична реєстрація в системі, використовується пароль та ім'я користувача, певні в "DefaultPassword" і "DefaultUserName".

REGEDIT4 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon] "LegalNoticeCaption" = "Hello" "LegalNoticeText" = "Welcome to Windows NT 4.0" "AutoAdminLogon" = "1" "DefaultUserName" = "my_name" "DefaultPassword" = "secret_password"

Для видалення внесених змін запустіть regedit, перейдіть на цей ключ, виправте вручну всі внесені зміни відповідно до прикладу.

"LegalNoticeCaption" = "" "LegalNoticeText" = "" "AutoAdminLogon" = "0" "DefaultPassword" = "secret_password" - видалити.

(Далі буде)

Андрій ЛАПОУХОВ, [email protected]

Реєстр, що ж це таке?

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: