Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
zvit.doc
Скачиваний:
3
Добавлен:
08.09.2019
Размер:
1 Мб
Скачать
☆

3.2. Основні функції, використані в програмі

1. RegNotifyChangeKeyValue – основна функція даної програми, яка повідомляє про зміни атрибутів чи змісту вказаного файлу реєстру.

Параметри:

HKEY - дескриптор відкритого ключа реєстру:

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

bWatchSubtree - якщо цей параметр дорівнює TRUE, функція повідомляє про зміни в зазначеному розділі і його підрозділі. Якщо параметр має значення FALSE, функція повідомляє про зміни тільки у вказаному ключі.

RegChangeNotifyFilter (dwNotifyFilter) – параметр вказує, які зміни мають відображатися:

RegChangeNotifyFilter.Key – вказує, які підрозділи були додані, а які видалені.

RegChangeNotifyFilter.Attribute – вказує зміни в атрибутах ключа (інформація дескриптора безпеки).

RegChangeNotifyFilter.Value – вказує на зміни значення ключа.

RegChangeNotifyFilter.Security – вказує на зміни в дескрипторі безпеки ключа.

hEvent – дескриптор події.

fAsynchronous - якщо цей параметр має значення ІСТИНА, то функція негайно повертається і відбувається повідомлення зміну події. Якщо цей параметр має значення FALSE, то функція не повертається, дескриптор подій hEvent ігнорується.

2. RegOpenKeyEx - функція, яка відкриває дескриптор вказаного ключа реєстру.

Параметри:

HKEY - дескриптор відкритого ключа реєстру:

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

lpSubKey – ключ імені.

ulOptions - цей параметр зарезервований і повинен бути нульовим.

samDesired – вказує права доступу до ключів.

phkResult – покажчик на змінну, яка отримає новий дескриптор ключ, вказаний на HKEY.

3. RegCloseKeyEx - функція, яка закриває дескриптор зазначеного ключа реєстру.

Параметр: HKEY – дескриптор відкритого ключа буде закрито.

3.3. Класи-вийнятки

ArgumentNullException (аналогічно ArgumentException) – клас. Виняток ArgumentNullException використовується, якщо аргумент дорівнює null, а для даного методу таке значення аргументу неприйнятне.

InvalidOperationException – клас. Виняток InvalidOperationException використовується в тих випадках, коли помилка виклику методу не є наслідком неприпустимість аргументу, а обумовлена іншими причинами. Наприклад: - GetString, якщо набір ресурсів був закритий до виклику методу.

ObjectDisposedException – клас, який використовується, при виконанні роботи над видаленим об’єктом.

3.4. Клас RegistryMonitor

У таблиці 6 наведено основні характеристики класу RegistryMonitor [2].

Таблиця 6. Характеристика класу RegistryMonitor

Конструктори

Події

Методи

RegistryMonitor(RegistryKey registryKey)

public event EventHandler RegChanged

public void Start()

RegistryMonitor(string name)

public event ErrorEventHandler Error

public void Stop()

RegistryMonitor(RegistryHive registryHive, string subKey)

Основна властивість класу RegistryMonitor, це RegChangeNotifyFilter.

Клас RegistryMonitor суміщає в собі такі основні функції – RegOpenKeyEx, RegCloseKeyEx, RegNotifyChangeKeyValue.

Основне завдання, яке виконує цей клас – це робота з ключами реєстру і змінами значень реєстру. Клас RegistryMonitor виконує такі дії з ключами реєстру:

  1. Задає параметри ключа реєстру.

  2. Визначає, які зміни в значенні реєстру необхідно фіксувати.

  3. Фіксує зміни значень реєстру.

  4. Задає гілки реєстру, значення яких можуть підлягати моніторингу.

  5. Визначає, які параметри мають гілки реєстру.