Поради і опис реєстру Windows.Реєстр Windows досить часто викликає питання у користувачів. Питання найрізноманітніші: починаючи від того, «Що це таке?» і закінчуючи «Навіщо це треба і як воно працює?». Дана стаття відповість повністю або частково на ці питання.

Останнім часом в пресі досить багато згадується про реєстр, але в більшості випадків інформація настільки поверхнева, що найчастіше користувач вже сам знає те, що розписується листами. Я ж пропоную трохи заглибитися в надра 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_LOCAL_MACHINE

У розділі HKEY_LOCAL_MACHINE містяться ключі двох головних типів. Перший тип ключів зберігає інформацію про розширення файлу. Таким способом зберігаються всі трилітерні розширення імен файлів, наприклад, 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 Paneldesktop створіть змінну MenuShowDelay типу String. Надайте їй значення «0». Тепер меню пуск буде відкриватися набагато швидше.

Якщо потрібно, то можна скасувати пункти меню Find і Run в меню Start. У ключі HKEY_CURRENT_USERSoftwareMicrosoftwindowscurrentversionpoliciesexplorer створіть змінні NoFind для скасування Find і NoRun для скасування Run типу DWORD… Дайте змінним значення 1. Далі пропоную відмінити виведення всіх піктограм на робочому столі, якщо потрібно звичайно. Робимо наступне в ключі HKEY_CURRENT_USERSoftwareMicrosoftwindowscurrentversionpoliciesexplorer створіть змінну NoDesktop типу DWORD. Назвіть змінної NoDesktop значення 1.

Скасування перегляду списку дисків My Computer. У ключі HKEY_CURRENT_USERSoftwareMicrosoftwindowscurrentversionpoliciesexplorer створіть змінну NoDrives типу DWORD. Назвіть змінної NoDrives значення 3FFFFFF.

Вимкнення анімації для вікон.

У ключі HKEY_CURRENT_USERControl PanelDesktopWindowMetrics створіть змінну MinAnimate типу String. Значення MinAnimate «0» вимикає анімацію,«1» включає.

Далі пропоную розглянути інші хитрощі реєстру. За допомогою реєстру можна дізнатися версію Windows, для цього відкрийте ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftwindowscurrentversion.Змінна типу String VersionNumber містить версію Windows. Отримання шляхів до системних каталогів. Відкрийте ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftwindowscurrentversion.

Шлях до каталогу Program Files міститься в змінній ProgramFilesDir.

Шлях до каталогу Common Files міститься в змінній CommonFilesDir.

Шлях до каталогу Windows міститься в змінній SystemRoot.

Шлях до каталогу Media міститься в змінній MediaPath.

Шлях до каталогу Config міститься в змінній ConfigPath.

Шлях до каталогу INF міститься в змінній DevicePath.

Отримання списку шрифтів і шляхів до них. Відкрийте ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftwindowscurrentversionfonts. Кожна змінна цього ключа являє собою ім’я шрифту. Значення змінної являє собою шлях до шрифту. Навряд чи вам це може знадобитися в реальній роботі, але в якості довідкової інформації цілком прийнятно. Отримання списку shared бібліотек. Відкрийте ключHKEY_LOCAL_MACHINESOFTWAREMicrosoftwindowscurrentversionsharddlls. Кожна змінна цього ключа являє собою шлях до shared бібліотеці. Значення змінній означає кількість програм, які використовують цю бібліотеку. Далі переходимо до видалення програм зі списку Add/Remove Programs. Цей момент, на мій погляд, є досить важливим, оскільки багато програм після деінсталяції все одно залишають запис в меню Add/Remove Programs. Це дуже заважає, якщо потрібно швидко видалити програму, при наявності великої кількості встановлених програм. Відкрийте ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftwindowscurrentversionuninstall.

Знищуйте будь-яку програму, яка вам не потрібна.

Додавання програм для одного запустити під час завантаження Windows. Відкрийте ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftwindowscurrentversionrunonce, якщо ви хочете, що б програма запустилася один раз при завантаженні Windows, після запуску мережевих сервісів. Додайте змінну з будь-яким ім’ям і значенням типу String. У значенні змінної напишіть повний шлях до програми.

На цьому я хотів би завершити статтю. Можливо якщо з’являться питання або пропозиції стаття буде продовжена, а поки якщо у вас виникли питання або коментарі, то пишитевсем відповім.