Visual Basic і Системний Реєстр Windows

Мнацаканян А., Азбука Visual Basic

Системний
Реєстр (Registry) Windows це база даних для зберігання системної
і інформації користувача в Windows. Системний Реєстр складається
з двох файлів – SYSTEM.DAT, В ньому міститься інформація про конкретний
компьторе, і USER.DAT, Що містить для користувача установки і дані.

Для
роботи з Системним Реєстром зазвичай застосовують спеціальний редактор Системного
Реєстру – REGEDIT.EXE, Або спеціальні функції Win32 API,
або деякі вбудовані функції й оператори Visual Basic.

Зупинимося
на останньому і розглянемо роботу з даними в Системному Реєстрі за допомогою
Visual Basic. Для цього Вам доведеться зробити наступне:



А
тепер приступимо до роботи.

Запис
значень за допомогою оператора SaveSetting

Двічі
клацніть на командній кнопці SaveSetting і в вікні, що розкрилося введіть
наступний код:



Private
Sub Command1_Click()

SaveSetting
App.Title, “PortSettings”, “Connect using”, “COM1”

End
Sub



Запустіть
програму на виконання і натисніть на кнопку SaveSetting, Потім перейдіть
на вікно редактора Системного Реєстру. Відкрийте папку VB and VBA Program
Setting
і там Ви побачите новостворену папку MYREG, А в ній
підрозділ з ім'ям PortSettings. Відкривши його, в лівому вікні редактора,
Ви прочитаєте запис яку тільки що створили – Connect using  
“COM1”
.

*** Якщо
Ви правильно виконали все що написано, але нічого не побачили, не хвилюйтеся.
Натисніть клавішу F5 (Refresh) і перед вами з'явиться шукана запис.

Тепер
розглянемо по-докладніше, що Ви написали у вікні коду. Синтаксис оператора
SaveSetting наступний:

SaveSetting
VBKeyName, Section, Key, Setting
, Де:

Читання значень
за допомогою функції GetSetting ()

*** При
виконання наведених нижче дій оголосіть в розділі Declaration
форми змінні CrtMsg As String, MySet As Variant

Щоб
отримати значення певного параметра, потрібно використовувати функцію GetSetting(). Двічі
клацніть на командній кнопці GetSetting і в вікні, що розкрилося введіть
наступний код:



Private
Sub Command2_Click()

MySet
= GetSetting (App.Title, "PortSettings", "Connect using", CrtMsg)

Debug.Print
MySet

End
Sub



Запустіть
програму на виконання і Наміті на кнопку GetSetting. У вікні Immediate
Ви побачите введене раніше (оператором SaveSetting) Значення – COM1.

Тепер
розглянемо докладніше, що Ви написали у вікні коду. Синтаксис оператора GetSetting
наступний:

MySet
= GetSetting ( VBKeyName, Section, Key [, Default ] )


 

Читання значень
за допомогою функції GetAllSettings ()

*** Попередньо
додайте наступний код до наявного коду командної кнопки

SaveSetting:

SaveSetting
App.Title, “PortSettings”, “Data bits”, “8”


SaveSetting
App.Title, “PortSettings”, “Parity”, “None”


SaveSetting
App.Title, “PortSettings”, “Stop bits”, “1”


SaveSetting
App.Title, “PortSettings”, “Flow control”, “None”


Проведіть
операцію запису даних у Системний Реєстру.

Для
отримання з реєстру масиву, що містить всі значення параметрів з певного
підрозділу (наприклад, PortSettings) Застосовується функція GetAllSettings().
Для цього двічі клацніть на командній кнопці GetAllSettings і в
вікні, що розкрилося введіть наступний код:



Private
Sub Command3_Click()

Dim
intSettings As Integer

MySet
= GetAllSettings(App.Title, “PortSettings”)

  
For intSettings = LBound(MySet, 1) To
UBound(MySet, 1)

     
Debug.Print MySet(intSettings,
0), MySet(intSettings, 1)

  
Next intSettings

End
Sub



Запустіть
програму на виконання і натисніть на кнопку GetAllSettings. У вікні
Immediate Ви побачите введені раніше (оператором SaveSetting)
значення:



Connect
using      COM1


Bits
per second    2400


Data
bits          8


Parity
None

Stop
bits          1


Flow
control       None



Тепер
розглянемо докладніше, що Ви написали у вікні коду. Синтаксис оператора GetAllSetting
наступний:

MySet
= GetAllSettings ( VBKeyName, Section)


Решта
оператори допомагають обробити масив значень і отримати інформацію в зручному
вигляді.

Видалення
розділу параметрів за допомогою оператора DeleteSetting

Ви
вже створили цілий масив параметрів! А що робити якщо він більше непотрібний?
Для видалення параметрів застосовується оператор DeleteSetting. Двічі
клацніть на командній кнопці DeleteSetting і в вікні, що розкрилося
введіть наступний код:



Private
Sub Command4_Click()

DeleteSetting
App.Title,”PortSettings”, “Flow control ”

End
Sub



Запустіть
програму на виконання і Наміті на кнопку DeleteSetting, Потім
перейдіть на вікно редактора Системного Реєстру і Ви побачите, що параметр
Flow control відсутня.

*** Якщо
Ви правильно виконали все що написано, але нічого не побачили, не хвилюйтеся.
Натисніть на клавішу F5 – Refresh.

Тепер
розглянемо докладніше, що Ви написали у вікні коду. Синтаксис оператора DeleteSetting
наступний:

DeleteSetting
VBKeyName, Section, Key
, Де:



Якщо
Ви захочете видалити відразу весь підрозділ, а не деякі параметри, то
для цього використовуйте такий синтаксис оператора DeleteSetting:

 DeleteSetting
VBKeyName, Section
;

Помістивши
код DeleteSetting App.Title,”PortSettings” в Private
Sub Command4_Click (), Ви видаліть весь підрозділ
PortSettings.

А
якщо Ви захочете прибрати взагалі всі Ваші установки з Сіастемного Реєстру,
то скористайтеся наступним кодом:



Private
Sub Command4_Click()

DeleteSetting
App.Title

End
Sub



*** Увага!
Користуйтеся оператором DeleteSetting дуже обережно! 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*