Призначений для користувача модуль



Лабораторна робота №1

Загальні теоретичні відомості:

Пакетні файли

Пакетный файл (англ. batch file, в просторечии - пакетник, батник, батничек) - текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа - интерпретатор (как правило COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетный файл - аналог shell script в Unix-подобных операционных системах. Пакетные файлы полезны для автоматического запуска приложений. Основная область применения - автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить - обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т.п.

@rem Это пример простого комментария @rem echo off отключает режим отображения команд на экране. @echo off @rem echo выводит указанную надпись на экран. echo Hello world! @rem pause останавливает выполнение файла и ждет нажатия любой клавиши. pause @rem это пример вызова команды cd @rem с помощью echo. можно вставить пустую строку echo. @rem а это пример вывода переменной окружения echo %processor_identifier% pause  

Для виконання даної лабораторної роаботи вам знадоблятся наступні команди та змінні оточення:

Команда чи змінна оточення Характеристика
Ver Команда, що виводить назву та версію операційної системи
Hostname Команда, виводом якої є ім'я компьютера
systeminfo Команда, що виводить всю інформацію про систему, у тому числі домен, до якого входить комп’ютер та контроллер домена(“сервер входа в сеть”)
%systemroot%, %windir% Змінні оточення, які містять інформацію про папку, де встановлена ОС
%username% Змінна оточення, в якій знаходится ім'я користувача

Windows API

API (application programming interface — интерфейс прикладного программирования) ‑ набор подпрограмм, используемых приложениями для запросов и выполнения служб нижнего уровня операционной системой компьютера. Эти подпрограммы обычно выполняют задачи обслуживания, такие как управление файлами и отображение данных.

ЧастьAPI функций реализуется с помощью программных прерываний.

Программные прерывания – это один из способов перехода на подпрограмму с помощью специальной инструкции процессора , такой как INT в процессорах Intel Pentium , trap в процессорах Motorola , syscall в процессорах MIPS или Ticc в процессорах SPARK .При выполнении команды программного прерывания процессор отрабатывает ту же последовательность действий , что и при возникновении внешнего или внутреннего прерывания , но только происходит это в предсказуемой точке программы – там ,где программист поместил данную команду.

Практически все современные процессоры имеют в системе команд инструкции программных прерываний. Их использование часто приводит к более компактному коду программ по сравнению с использованием стандартных команд выполнения процедур. Это объясняется тем , что разработчики процессора обычно резервируют для обработки прерываний небольшое число возможных подпрограмм , так что длина операнда в команде программного прерывания, который указывает на нужную подпрограмму , меньше , чем в команде перехода на подпрограмму. Другой причиной применения программных прерываний вместо обычных инструкций вызова подпрограмм является возможность смены пользовательского режима на привилегированный одновременно с вызовом процедуры – это свойство программных прерываний поддерживается большинством процессоров.

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

Системный вызов позволяет приложению обратиться к операционной системе с просьбой выполнить то или иное действие , оформленное как процедура кодового сегмента ОС .

Реализация системных вызовов должна удовлетворить следующим требованиям :

· Обеспечивать переключение в привилегированный режим;

· Обладать высокой скоростью вызова процедур ОС;

· Обеспечивать по возможности единообразное обращение к системным вызовам для всех аппаратных платформ , на которых работает ОС ;

· Допускать легкое расширение набора системных вызовов ;

· Обеспечивать контроль со стороны ОС за корректным использованием системных вызовов .

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

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

В большинстве ОС системные вызовы обслуживаются по централизованной схеме , основанного на существовании диспетчера системных вызовов . При любом системном вызове приложение выполняет программное прерывание с определенным и единственным номером вектора . Например , ОС Linux использует для системных вызовов команду INT 80h , а ОС Windows NT - INT 2Eh . Перед выполнением программного прерывания приложение тем или иным способом передает операционной системе номер системного вызова, который является индексом в таблице адреса процедур ОС, реализующих системные вызовы. Способ передачи зависит от реализации, например номер можно поместить в определенный регистр общего назначения процессора или передать через стек . Также некоторым способом передаются аргументы системного вызова, они могут как помещаться в регистры общего назначения, так и передаваться через стек или массив , находящийся в оперативной памяти. Массив удобен при большом объеме данных, передаваемых в качестве аргументов, при этом в регистре общего назначения указывается адрес этого массива.

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

#include <windows.h> #include <tchar.h> #include <stdio.h>   #define INFO_BUFFER_SIZE 32767   void main( ) { TCHAR infoBuf[INFO_BUFFER_SIZE]; DWORD bufCharCount = INFO_BUFFER_SIZE;   // Get and display the system directory. GetSystemDirectory( infoBuf, INFO_BUFFER_SIZE); printf("\nSystem Directory: %s", infoBuf );   // Get and display the Windows directory. GetWindowsDirectory( infoBuf, INFO_BUFFER_SIZE ); printf("\nWindows Directory: %s", infoBuf ); printf("\n"); }

 

Команда чи змінна оточення Характеристика
   
GetComputerName() Функція, виводом якої є ім'я компьютера
   
GetWindowsDirectory() Функція, яка містить інформацію про папку, де встановлена ОС
GetUserName() Функція, в якій знаходится ім'я користувача

Питання для самоконтролю:

1. Що таке пакетний файл? Навіщо потрібні пакетні файли?

2. Що робить команда «@rem»?

3. Що зміниться, якщо з пакетного файлу прибрати команду «@echo off»?

4. Чим відрізняється команда «echo Hi» від «@echo Hi»?

5. Що таке змінні оточення?

6. Що таке API функції? Яке призначення мають API функції?

7. Чому API функції реалізуються за допомогою програмного переривання?

8. Призначення аргументів функції GetComputerName()?

 

Лабораторна робота №2

Системний реєстр Windows

Останнім часом стандартним способом настройки автозапуску для більшості програм є використовування спеціальних ключів реєстру Windows.

Системний реєстр Windows - це основне сховище більшості настройок операційної системи і багатьох додатків. Для доступу до системного реєстру використовується системна утиліта regedit.exe, розташована в папці операційної системи.

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

 

Рис.1 . Системний реєстр Windows

На верхньому рівні реєстр ділиться на декілька гілок (п'ять або шість, залежно від версії Windows).

Огляд системного реєстру

Всі записи в реєстрі підрозділяються на три типи. Розділи - якась подібність папок Провідника: вони можуть містити в собі інші розділи, а також параметри. Параметри - це те, що може міститися в розділі. Вони можуть бути трьох типів: рядкові - звичний текстовий рядок, двійкові - число в двійковій системі счислення (у реєстрі воно зберігається в двійковій системі, але відображається завжди в шіснадцятерічній - парадокс!) і типа Dword - число в десятковій або шіснадцятерічній системі (вводити можна в будь-якій - в другу систему число перетвориться автоматично). У ключа може бути (а може і не бути) значення тільки того типа, який для нього допустимий.

Якщо подивитися в ліве вікно редактора, то може показатися, що системний реєстр комп'ютера складається з шести підрозділів. Проте це не зовсім так. Річ у тому, що Редактор реєстру інтерпретує вміст реєстру так, щоб його було зручно дивитися і виправляти. У зв'язку з цим деякі розділи в редакторі дублюються. Насправді реєстр складається всього з двох розділів - HKEY_LOCAL_MACHINE (міститься у файлі System.dat) і HKEY_USERS (міститься в завантажених файлах User.dat). І саме їх ви побачите, якщо експортуєте весь реєстр в текстовий файл і його проглянете. Оскільки сам реєстр містить в собі лише два розділи, а його розкладання на шість виробляється виключно в Редакторі реєстру, всі зміни, зроблені в одному з дубльованих розділів, автоматично будуть зроблені і в іншому - не через дії редактора, а через те, що це один і той же розділ, просто двічі відображений. Але все по порядку.

Скарбниця імен

Розділ HKEY_CLASSES_ROOT є точною копією розділу HKEY_ LOCAL_MACHINE\SOFTWARE\Classes і містить в собі інформацію про всі зареєстровані в системі типи файлів. Саме з цього розділу береться інформація для уявлення у вікні "Типи файлів". Але зберігається інформація про зареєстровані розширення вельми своєрідно і складно. Спочатку в розділі HKEY_CLASSES_ROOT йде список всіх розширень (з крапками спочатку!), зареєстрованих в системі, кожне з яких є назвою розділу реєстру. У кожному такому підрозділі обов'язково є параметр "За умовчанням". У ньому записана як би "внутрішня" назва розширення, яка "в ходу" у системи. У розділі HKEY_CLASSES_ROOT також присутній розділ з ім'ям цієї внутрішньої назви розширення (розташований нижче у вікні Редактора реєстру), в якому знаходяться параметри, що визначають контекстне меню правої кнопки миші цього розширення. У параметрі "За умовчанням" цього розділу записано "офіційну" назву типу файлів з таким розширенням, яке, наприклад, присутнє в списку вікна "Типи файлів".

У розділі HKEY_CLASSES_ROOT є підрозділ CLSID, ледве найбільший у всьому реєстрі. Він містить в собі інформацію про об'єкти операційної системи, що мають свої ідентифікатори - довгі числа у фігурних дужках, як би великий список всіх їх імен. З його допомогою йде спілкування між різними компонентами системи, і саме він дозволяє їм злагоджено працювати і дає можливість додавати нові об'єкти. Об'єктами в операційній системі є програми, папки, компоненти програм і ін. Строго кажучи, об'єкт в розумінні програміста - це все, що має ім'я і до чого можна звертатися як до єдиного цілого. Цією можливістю користуються розробники програм, що інтегруються в систему. Службові папки, такі, як "Панель управління", "Видалений доступ до мережі", "Принтери", які ви ймовірно свого часу безуспішно шукали на жорсткому диску, є саме такими об'єктами і мають свої ідентифікатори. Ідентифікатори мають і реальні папки, що виконують в системі які-небудь функції, наприклад Робочий стіл, Корзина. Ви маєте право навіть дати такий ідентифікатор якої-небудь з своїх папок (тоді її, зокрема, можна буде включити у вікно "Мій комп'ютер").

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

Призначений для користувача модуль

Наступний розділ системного реєстру - HKEY_CURRENT_USER. Це інформація, яка міняється від користувача до користувача. При вході в операційну систему під іншим ім'ям ця частина реєстру буде іншою. Він складається з безлічі підрозділів.

У розділі AppEvents записана інформація про звукові схеми і призначені звуки в системі. Саме тут зберігаються ті дані, що ви вводите в діалозі "Звук" Панелі управління.

Розділ Clock, як неважко зрозуміти, присвячений годиннику - саме тим, що знаходяться в кутку панелі задач. Тут - всі їх параметри.

Розділ Control Panel містить в собі інформацію про настройки зовнішнього вигляду операційної системи. Це, мабуть, один з найцікавіших розділів реєстру, оскільки саме тут настроюються різного роду "красивої" інтерфейсу Windows. Підрозділ Appearance містить в собі інформацію про всі можливі колірні схеми. Ці схеми закладаються в реєстр при його створенні і саме звідси беруться дані для вікна "Властивості екрану - Оформлення". У підрозділі Colors розташована інформація про оформлення стандартних елементів інтерфейсу Windows - меж вікон, поверхні кнопок і їх країв, заголовка вікна, лінійок прокрутки і ін. Всі кольори представлені у вигляді трьох чисел інтенсивності червоного, зеленого і синього. Деякі з цих параметрів можуть бути задані при створенні колірної схеми, а деякі - змінені тільки в реєстрі. Якщо хочете, можете небагато пограти з інтерфейсом вашої системи.

У підрозділі Cursors зберігається інформація про вибраний набір зображень курсора і про всі стандартні набори таких зображень.

Підрозділ Desktop і його внутрішні розділи присвячені оформленню Робочого столу. Тут знаходиться інформація про шрифти вікон і меню, відображення лінійок прокрутки. Проте велику частину параметрів цього підрозділу украй бажано змінювати не з редактора реєстру, а із стандартних діалогових вікон, т. до., зокрема, запис використовуваних шрифтів тут ведеться в своєму особливому форматі. Деякі параметри цілком можуть коректуватися і прямо в реєстрі - скажімо, якщо ви хочете "знести" пароль скрінсервера, поставте значення параметра ScreenSaveUsePassword в 0 (сам пароль зберігається в параметрі ScreenSave_Data). А якщо ви хочете розтягувати шпалери Робочого столу на весь екран, додайте в розділ DeskTop параметр WallpaperStyle і поставте його значення в 2, а параметр TileWallpaper - в 0.

Інші підрозділи розділу Control Panel мають чисто службове значення. Там можуть зберігатися дані про призначення кнопок миші і ін.

Розділ Identities, якщо він у вас є, використовується поштовою програмою Outlook Express для зберігання інформації про наявні ідентифікаційні записи (просто - своїх користувачах). Тут розташовані настройки Outlook Express для кожного з користувачів. Наприклад, в одному з численних розділів цієї частини реєстру можна знайти параметр WindowTitle (а можна і не знайти). Саме в ньому записаний той рядок, який відображається в заголовку Outlook Express, на самій верхній синій смузі вікна. Також в цьому розділі зберігається інформація про всі облікові записи пошти і новин всіх користувачів Outlook Express, за винятком активного - того, на якого Outlook Express була набудована при останньому виході.

Розділ Keyboard layout присвячений розкладкам клавіатури, а InstallLocationsMRU - шляхам до деяких драйверів. Обидва розділи - чисто службові і особливого інтересу не представляють. У розділі Network знаходяться параметри локальної мережі, якщо комп'ютер до неї підключений. Змінювати параметри всіх цих розділів з редактора реєстру не варто.

У розділі RemoteAccess записане те, що майже завжди представляє величезний інтерес для хакерів, - параметри з'єднань видаленого доступу: імена з'єднань, телефони, деякі настройки, а також логіни і паролі. (Сподіваюся, ви розумієте, що зберігати свій пароль для входу в Internet тут не варто - вже краще вводити кожного разу з клавіатури! Адже будь-який, що дістав доступ до вашого реєстру, може експортувати цей розділ собі на дискету і внести всі ваші логіни і паролі в свій реєстр.)

У HKEY_CURRENT_USER можуть бути і інші розділи, створені різними встановленими програмами.

І нарешті, останній і найобширніший розділ - це розділ Software. Параметри встановлених програм - в т.ч. і самій Windows! Проте свої параметри в цей розділ пишуть не всі програми, а лише ті, які підтримують розрахований на багато користувачів режим, тобто допускають різні свої настройки для різних користувачів Windows. (Інші розміщують свої дані в аналогічному розділі ключа HKEY_LOCAL_MACHINE.) У самому розділі Software належить поміщати не підрозділи з назвами програм, а підрозділи з назвами їх фірм-виробників, а вже лише в них - назви програм. (Це правило, втім, не завжди дотримується програмістами.)

У підрозділі Microsoft розташовані настройки встановлених на комп'ютері програм, випущених цією фірмою. У його підрозділі Internet Account Manager знаходяться настройки облікових записів поточного користувача програми Outlook Express. Поряд з ним можна бачити підрозділ з ім'ям цієї програми, теж повний різноманітних настройок. При зміні поточного користувача Outlook Express вміст цих розділів замінюється на відповідне з розділу HKEY_CURRENT_ USER\Identities. Поряд - розділ Internet Explorer: чиї настройки там знаходяться, думається, ясно.

Для того, щоб через цілий ліс з імен програм і фірм дістатися до настройок вашої операційної системи, знайдіть в розділі Software підрозділ Microsoft, а в ньому - підрозділ Windows. Там відкрийте підрозділ CurrentVersion (звично він один). І ось перед вами ще один блок настройок операційної системи! Кількість підрозділів тут може варіювати залежно від "навороченності" вашій Windows: і Internet Explorer, і MS Office можуть додати сюди пару-трійку компонентів.

У підрозділі Applets (ключа HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion, якщо ви ще не забули) розташовані настройки стандартних програм Windows. Тут і старі знайомі Defrag і FreeCell, Hearts і Paint, і System Monitor з Media Player. Іноді ви можете знайти параметри з назвами на зразок WindowOriginY або просто У або X. Це записано місцеположення вікна програми при останньому виході з неї, щоб при наступному запуску воно розташовувалося на тому ж самому місці, що і минулого разу. А вас ніколи ця здатність Windows не дивувала?..

У підрозділі Internet Settings ви також зустрінете деякі свої настройки браузера Internet Explorer. З ними особливо розбиратися не слід: все одно все настроюється через діалогові вікна самого браузера.

У підрозділі Policies можна заборонити інтерфейсу Windows відображати певні свої компоненти. Встановивши параметр NoNetHood розділу Explorer в 1, ви приховаєте піктограму Мережевого оточення з Робочого столу. А встановивши параметр NoDispScrSavPage розділу System в 1, ви забороните відображати вкладку установки скрінсервера у Властивостях екрану, тим самим певною мірою запобігши чиєму-небудь злому жарту по установці пароля на скрінсервер у вашу відсутність. У принципі назви майже всіх параметрів в цьому розділі цілком зрозумілі. Тільки не ставте параметр DisableRegistryTools в 1 - після цього ви більше regedit.exe запустити не зможете. Доведеться відновлювати реєстр як після краху системи або писати спеціальний .reg - файл для видалення цього параметра…

Підрозділ Run - це те місце, яке вам треба відвідувати якомога частіше. Це одне з двох місць в системному реєстрі, де прописані шляхи до автозавантажуваних програм. Вказавши тут шлях до програми, ви доб'єтеся того, що вона завантажуватиметься кожного разу при запуску Windows. Цим часто користуються троянські програми для свого автоматичного запуску при завантаженні комп'ютера (щоб, скажімо, при встановленні з'єднання з Internet відправити своєму творцю гілку HKEY_CURRENT_USER\RemoteAccess вашого реєстру, а разом з нею всі логіни і паролі). Тому, якщо ви тут знаходите запис, вказуючий на підозрілий файл, сміливо видаляйте або хоча б спробуйте з'ясувати, звідки ця програма і що вона робить. Проте це не єдине місце автозапуску програм - аналогічний розділ є і в HKEY_LOCAL_MACHINE.

Розташований поряд підрозділ RunOnce відрізняється від підрозділу Run тим, що програми, шляхи до яких записані в ньому, запустяться всього лише один раз, після чого їх імена звідси будуть викинуті. Цим ключем часто користуються дєінсталлятори - адже ви напевно бачили повідомлення, що "для завершення деінсталяції потрібне перезавантаження комп'ютера"? При цьому деінсталлятор прописує сюди код для видалення файлів, що залишилися, які до перезавантаження використовувалися операційною системою і тому видалені бути не могли. Троя може прописуватися і тут, так що регулярно проглядати цей підрозділ - справу корисну.

Підрозділ Explorer - найбільший зі всіх підрозділів CurrentVersion. Це параметри, мабуть, самої використовуваної програми з поставки Windows - Провідника. У декількох його підрозділах розміщується інформація, місцезнаходження якої ви, напевно, давним-давно хотіли взнати.

Вас ніколи не цікавило, яким чином Windows зберігає інформацію про розташування значків на Робочому столі і в папках, які ви залишили відкритими, виходячи з Windows? Загляньте в підрозділ Streams. Бачите там 200 підрозділів? Це - заготівки для збереження інформації про розташування значків. У деяких з підрозділів знаходяться параметр ViewView. Тут така інформація вже внесена для майбутнього застосування. Відкривши цей параметр подвійним клацанням миші, можна побачити довге шестнадцатерічноє число, а справа - його "переклад" на звичну символьну мову. І серед мішанини символів будуть видні (звичайно, не у всіх таких параметрів) імена ваших файлів, що знаходяться в якійсь одній папці. Значить, саме в цьому розділі зберігається інформація про розташування значків в ній. Ви можете знайти розділ з параметром ViewView, що містить імена файлів на вашому Робочому столі, експортувати його у файл реєстру і потім імпортувати назад при необхідності відновити розташування ікон на екрані. Але такий експорт треба буде виробляти після кожної зміни розташування або складу значків Робочого столу.

У підрозділах RunMRU і Doc Find Spec MRU міститься те, що ви коли-небудь вводили у вікна "Виконати…" і "Знайти". Почистите ці розділи або, навпаки, доповните їх згідно необхідності, якщо бажаєте. У підрозділах Shell Folders і User Shell Folders міститься інформація про розташування службових папок Windows, наприклад Cookies або History. Якщо ви побажаєте перемістити їх в інше місце або перейменувати, то внесіть сюди відповідні зміни.

Решта підрозділів і параметрів підрозділу Explorer настроює дрібні особливості Провідника.

Більшість інших підрозділів в CurrentVersion є чисто службовими і особливого інтересу не представляють. Там записані параметри деяких програм з поставки Windows - і не більш того. Хоча не забудьте глянути в ProfileReconciliation, якщо через реєстр мінятимете розташування папок Cookies і History.

У розділі HKEY_CURRENT_ USER\Software\VB and VBA Program Settings за умовчанням розташовуються настройки для всіх програм, написаних на мовах Visual Basic і VBA. Тому загляньте і сюди, якщо ви не знайшли імені програми, що цікавить вас, в решті частини розділу Software.

Можливо, вас дещо збентежило, наприклад, те, що, скажімо, настройки браузера Internet Explorer знаходяться не в одному розділі, а розкидані по всьому ключу HKEY_CURRENT_USER, та і не тільки по ньому. Але це, на жаль, так - Internet Explorer дуже тісно інтегрується в операційну систему і на реєстрі це теж відображається.

Звичайно, одна стаття не може освітити всі особливості роботи з такою складною базою даних як системний реєстр Windows. Але тепер ви маєте уявлення про його склад і структуру. Навіть описаних розділів і ключів достатньо для додання вашій операційній системі особливостей, недосяжних стандартними засобами. Продовження триває, а поки - експериментуйте, вивчайте, пробуйте…

Недавно ми почали знайомити вас з однією з найзагадковіших і лякаючих для багатьох користувачів частин операційної системи Windows - системним реєстром. Нині ми публікуємо закінчення статті.

Системний блок

Наступний розділ реєстру - HKEY_LOCAL_MACHINE, сховище інформації про ваш комп'ютер і об незалежних від наявності різних користувачів настройках програм. Він найкрупніший і найважливіший зі всіх розділів реєстру. При цьому він містить в собі, в одному з своїх підрозділів, і весь HKEY_CLASSES_ROOT, який винесений в окремий ключ реєстру лише для зручності редагування, і всі можливі варіанти вмісту розділу HKEY_CURRENT_CONFIG, в який поміщається інформація з HKEY_LOCAL_MACHINE залежно від поточної апаратної конфігурації. Як HKEY_LOCAL_MACHINE в Редакторі реєстру відображається файл System.dat, тобто вся інформація цього ключа фізично міститься саме в цьому файлі. Таким чином, HKEY_LOCAL_MACHINE - перший з описаних "реальний" розділ реєстру, тобто що має під собою "фізичну природу" - файл System.dat. (HKEY_CLASSES_ROOT і HKEY_CURRENT_CONFIG - його підрозділи, а з HKEY_CURRENT_USER - підрозділ HKEY_USERS, другого "реального" розділу реєстру).

З погляду автозапуску найбільш важливі дві вітки:

  • HKEY_CURRENT_USER - вітка ключів, що відносяться до поточного користувача, часто скорочено позначається як HKCU
  • HKEY_LOCAL_MACHINE - вітка ключів, що відносяться до комп'ютера в цілому, скорочується до HKLM

Для настройки автозапуску в реєстрі Windows призначено декілька ключів:

  • Перша група знаходиться в ключі HKCU\Software\Microsoft\Windows\CurrentVersion, всі ключі, що відносяться до автозавантаження, починаються з Run. Ці програми запускаються тільки при вході в систему поточного користувача. Залежно від операційної системи це можуть бути ключі:

o Run - основний ключ автозапуску

o RunOnce - службовий ключ для програм, яким потрібен запуститися тільки один раз

o RunServices - ключ для запуску служб в Windows 98/Me*

  • Інша група знаходиться в ключі HKLM\Software\Microsoft\Windows\CurrentVersion, тобто в аналогічному ключі, але в настройках, що відносяться до комп'ютера в цілому, а значить, до всіх користувачів. Імена ключів такі ж:RunServicesOnce - службовий ключ для служб, яким потрібен одноразовий запуск

o Run

o RunOnce

o RunServices

o RunServicesOnce

Кожен запис в ключі автозапуску відповідає одній програмі, що запускається. Запис складається з імені запису, типу запису (для параметрів автозапуску тип запису - рядковий, позначається як REG_SZ) і значення, яке і є рядком запуску, тобто включає ім'я виконуваного файлу і параметри командного рядка.

Загальний модуль

HKEY_USERS - другий "реальний" розділ реєстру. Він складається з одного або двох великих підрозділів. У будь-якому випадку один з них називається .Default і є розділом HKEY_CURRENT_USER для конфігурації користувача Windows за умовчанням (якщо в Windows зареєстровано декілька користувачів, то її можна завантажити, натиснувши Esc при запиті пароля на вході в Windows). Якщо в Windows зареєстрований один користувач, то розділ .Default буде єдиним і співпадати з HKEY_CURRENT_USER, а якщо ні, то в HKEY_USERS буде ще один розділ, чиє ім'я співпадатиме з ім'ям поточного користувача, і саме цей розділ буде відображений в реєстрі ще раз під ім'ям HKEY_CURRENT_USER.

Ключі конфігурації

HKEY_CURRENT_CONFIG - це опис поточної конфігурації устаткування комп'ютера. Цей розділ є віддзеркаленням однієї з гілок розділу HKEY_LOCAL_MACHINE\Config, в якому описані всі створені в системі конфігурації устаткування. Самі вони створюються за допомогою діалогового вікна Панель управління - Система - Конфігурації. Коли конфігурація міняється, міняється і вміст розділу HKEY_CURRENT_CONFIG - він починає "відображати" вже іншу гілку розділу HKEY_LOCAL_MACHINE\Config. Призначення окремих розділів і параметрів цього ключа практичного інтересу не представляє, оскільки редагувати ці дані краще "законним" способом - за допомогою діалогових вікон. Єдиним слідством зі всієї цієї інформації може бути рада відновити реєстр з резервної копії, якщо в результаті ваших експериментів із створенням конфігурацій комп'ютер став непрацездатним.

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

1. Коли ви встановили нову велику програму і переконалися, що вона працює. Великі програмні пакети, наприклад Microsoft Office або Intermet Explorer, роблять при установці велику кількість записів в реєстрі і можуть відмовитися працювати, якщо згодом їх не знайдуть. Якщо ви виконаєте описане вище встановлення заново реєстру, то вам доведеться переустановити і всі ці програми.

2. Коли проводите потрібне вам редагування реєстру, і воно виявляється успішним.

3. Коли додаєте нові облікові записи в Outlook Express, The Bat!, в ftp-менеджери і поштові клієнти, і ці записи вам украй необхідні. Вони зберігаються в системному реєстрі і у разі його заміни пропадуть.

4. Коли реєструєте деякі з програм, записуючі свій реєстраційний код в реєстр. В цьому випадку після встановлення заново реєстру вони виявляться знову нереєстрованими.

5. Коли ви внесли в конфігурацію Windows яку-небудь важливу зміну на зразок настройки колірної гамми вікон або звукових схем і не хотіли б його втратити.

6. Коли ви встановили новий пристрій.

 

Фізично реєстр розташовується в двох файлах в каталозі Windows (далі саме так позначатиметься папка, в яку встановлена операційна система - назва цього каталога на вашому комп'ютері може бути іншою) - System.dat і User.dat. Файли System.da0 і User.da0 (на кінці - цифра нуль) є резервними копіями реєстру, які створюються кожного разу після успішного завантаження комп'ютера, а у разі невдачі при завантаженні можуть бути поміщені на місце пошкоджених файлів реєстру.

Сам системний реєстр складається з двох частин. Перша - файл System.dat - містить інформацію, загальну для всіх користувачів даного комп'ютера: параметри пристроїв, настройки деяких програм і ін. Друга ж частина - User.dat - є специфічною для кожного користувача, зберігаючи його настройки. Обидва файли мають атрибут "Прихований". Якщо на комп'ютері зареєстровано декілька користувачів, то в папці Windows\Profiles зберігаються в окремих каталогах "особисті" файли кожного: вміст Робочого столу, головне меню і ін., а також частина User.dat системного реєстру. У папці Windows теж зберігається файл User.dat, що містить настройки системи за умовчанням (тобто ті, які будуть завантажені, якщо у відповідь на запит імені користувача і пароля натиснути клавішу Esc). При завантаженні комп'ютера після введення імені користувача файл User.dat з каталога цього користувача разом з System.dat і User.dat з каталога Windows завантажується в пам'ять і "склеюється" з ними в єдине ціле.

 


Дата добавления: 2020-12-12; просмотров: 127; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!