Робота з налаштуваннями операційної системи через реєстр

Створення програм для зміни або відображення налаштувань ОС не вимагає безпосереднього відкриття ключів реєстру і редагування їх значень. Для цього використовуються функції SystemParametersInfo і SetSysColors.

Опишемо формат виклику функції SystemParametersInfo:

invoke SystemParametersInfo, uiAction, uiParam, addr pvParam, fWinIni

uiAction – Визначає один з можливих параметрів операційної системи, який треба змінити або отримати. Перелічимо декілька з доступних параметрів (для повного списку параметрів див. файл допомоги WIN32.HLP):

 

Значення Опис
SPI_GETACCESSTIMEOUT   Для отримання інформації про період тайм-ауту, який пов'язаний із спеціальними можливостями (accessibility features). Аргумент pvParam повинен вказувати на об'єкт структури ACCESSTIMEOUT, в якому зберігатиметься ця інформація. Розмір структури в байтах sizeof(ACCESSTIMEOUT) потрібно встановити в полі структури cbSize та в аргументі uiParam (див. оголошення ф-ції).
SPI_GETACTIVEWINDOWTRACKING   Windows NT 5.0 і пізніші, Windows 98: Визначає чи включена функція активації вікна на якому стоїть стрілочка миші. Аргумент pvParam має вказувати на змінну, яка отримуватиме значення TRUE, якщо включена або FALSE, якщо виключена.
SPI_SETDESKWALLPAPER         Встановлює заставку робочого стола. Аргумент pvParam повинен вказувати на стрічку завершену нулем, яка містить шлях і назву графічного файлу заставки.

 

uiParam, pvParam – ці аргументи залежать від вибраного параметру операційної системи і режиму роботи (uiAction).

 

  fWinIni – аргумент який визначає чи зберігатиметься зміна параметрів операційної системи після завершення сеансу роботи користувача. Може приймати два значення: SPIF_UPDATEINIFILE (зберігати) або SPIF_SENDCHANGE (не зберігати).

 

Функція SetSysColors призначена для зміни кольорів оформлення ОС Windows. Опишемо формат виклику функції SetSysColors:

invoke SetSysColors, n, addr elem, addr colors

n           Кількість елементів в масивах на які вказують два наступних аргументи.

addr elem Вказівник на масив елементів оформлення Windows (тип елементів dd або DWORD); за переліком доступних елементів оформлення див. Help по функціях API – файл WIN32.HLP.

addr colors Вказівник на масив кольорів в форматі 24 розрядного ЧЗС (24 bit RGB) – тип елементів масиву dd або DWORD.

 

Хід роботи

 

1.Ознайомитись з основними теоретичними відомостями даної лабораторної роботи.

2.Скомпілювати і виконати програму, яку подано в додатку 1.

3.Затвердити номер індивідуального завдання у викладача.

4.Виконати завдання згідно з номером.

 

Зміст звіту

Звіт повинен містити:

- титульну сторінку;

- мету роботи;

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

- короткі висновки по проведеній роботі.

Завдання

Програма розробляється на мові асемблер для ОС Windows, використовуючи пакет MASM32. Результат виводиться на екран.

 

На 65 балів розробити програму, яка виводить на екран значення з гілки реєстру (див. дод.1) згідно варіанту:

1. Wallpaper з гілки реєстру “HKEY_CURRENT_USER\Control Panel\Desktop”.

2. HOMEPATH з гілки реєстру “HKEY_CURRENT_USER\Volatile Environment”.

3. iFormat з гілки реєстру “HKEY_CURRENT_USER\Software\Microsoft\Clock”.

4. ShellNext з гілки реєстру “HKEY_CURRENT_USER\Software\Microsoft\Internet Connection Wizard”.

 

На 75 балів потрібно розробити програму згідно варіанту.

Розробити програму в середовищі MASM32, яка:

1. Змінює значення в гілці реєстру за допомогою функції RegSetValueEx, згідно варіанту завдань на 65 балів.

2. Виводить на екран числове значення кольору довільного елемента оформлення Windows за допомогою функції GetSysColors (див. файл допомоги WIN32.HLP).

 

На 95 балів потрібно розробити програму згідно варіанту.

Розробити програму в середовищі MASM32, яка:

1.Виводить назви програм, які записані в автозагрузку ОС. Для цього потрібно відобразити всі значення, які знаходяться в ключі реєстру HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.

2.По іменованому каналу (див. лаб. 5, дод. 7,8) передає значення системної валюти (див. дод. 1). Інша програма повинна зчитувати цю інформацію і виводити на екран.

3.Кожні 10 сек. змінює малюнок робочого стола (використовуючи функцію SystemParametersInfo). Шлях і назви малюнків можна задати в програмі будь-яким зручним способом.

4.Завдання таке ж як 2, але дані повинні надсилатися на інший ком’ютер з допомогою команди net send (див. лаб. 4, дод. 2).

5.Добавляє нову програму в автозагрузку ОС (див. завд. 1). Шлях до виконуваного файлу задається з командного рядка.

6.Створює новий ключ в гілці реєстру HKEY_CURRENT_USER\SOFTWARE\ з назвою уявної компанії (прізвище студента) а в ньому підключ з назвою уявного програмного продукту (ім’я студента).

7.Очікує змін в гілці реєстру, яка визначає автозагрузку (див. завд. 1). Коли зміни настали – виводить повідомлення довільного змісту.

8.Змінює колір довільного елемента оформлення Windows з допомогою функції SetSysColors (див. файл допомоги WIN32.HLP).

 

Контрольні запитання

1. Для чого потрібен реєстр в ОС Windows?

2. З чого складається реєстр?

3. Назвіть один з розділів реєстру.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: