
Функції роботи з реєстром.
RegCloseKey - звільняє дескриптор зазначеного ключа.
RegConnectRegistry - встановлює з'єднання до визначеного дескриптору реєстру на іншому комп'ютері.
RegCreateKey - творює вказаний ключ. Якщо ключ вже існує в реєстрі, то функція відкриває його. Ця функція залишена для сумісності з Windows версії 3.1. Програми для Win32 повинні використовувати функцію RegCreateKeyEx.
RegCreateKeyEx - створює вказаний ключ. Якщо ключ вже існує в реєстрі, то функція відкриває його. Ця функція залишена для сумісності з Windows версії 3.1. Програми для Win32 повинні використовувати функцію RegCreateKeyEx.
RegDeleteKey - видаляє вказаний ключ. Ця функція не може видалити ключ, которяе є підключений.
RegDeleteValue - видаляє іменоване значення із зазначеного ключа реєстру
RegEnumKey - перераховує підключи зазначеного відкритого ключа реєстру. Функція повертає ім'я одного підключа при кожному виклику. Ця функція залишена для сумісності з Windows версії 3.1. Програми для Win32 повинні використовувати функцію RegEnumKeyEx.
RegEnumKeyEx - перераховує підключи зазначеного відкритого ключа реєстру. Функція повертає ім'я одного підключа при кожному виклику. На відміну від функції RegEnumKey, ця функція повертає ім'я класу підключа і час останньої модифікації.
RegEnumValue - перераховує значення в зазначеному відкритому ключі реєстру. Функція копіює одне ім'я значення і блок даних за індексом при кожному виклику.
RegFlushKey - записує всі атрибути зазначеного відкритого ключа до реєстру.
RegGetKeySecurity - повертає копію дескриптора безпеки, що захищає вказаний відкритий ключ реєстру.
RegLoadKey - створює з'єднання в HKEY_USER або HKEY_LOCAL_MACHINE і записує туди інформацію із зазначеного файлу. Ця інформація реєстру у формі вулика. Вулик - це окреме тіло ключів, підключили і значень, які знаходяться на вершині ієрархії реєстру. Вулик зберігається в одному файлі.
RegNotifyChangeKeyValue - повідомляє зухвалому про зміни атребутов чи змісту зазначеного ключа реєстру. Врахуйте, що функція не повідомляє зухвалому, якщо ключ видалений.
RegOpenKey - відкриває вказаний ключ. Ця функція залишена для сумісності з Windows версії 3.1. Програми для Win32 повинні використовувати функцію RegOpenKeyEx.
RegOpenKeyEx - відкриває вказаний ключ.
RegQueryInfoKey - отримує інформацію про зазначений ключі реєстру.
RegQueryMultipleValues - отримує тип і дані для списку імен значень, асоційованих з відкритим ключем реєстру.
RegQueryValueEx - повертає тип і данніе вказаного значення по імені, що асоціюється з відкритим ключем реєстру.
RegReplaceKey - заміщає резервний файл ключа і всіх його підключити іншим файлом, так що, при наступному завантаженні системи, ключ і підключи будуть мати значення, записані в іншому файлі.
RegRestoreKey - читає інформацію реєстру із зазначеного файлу і копіює її до зазначеного ключ. Ця інформація реєстру може бути у вигляді ключа і безлічі рівнів підключений.
RegSaveKey - зберігає вказаний ключ і всі його підключи і значення в новий файл.
RegSetKeySecurity - встановлює безпеку для відкритого ключа реєстру.
RegSetValue - встановлює значення зазначених ключів. Це значення повинне побут рядком і не повинно мати імені. Ця функція залишена для сумісності з Windows версії 3.1. Win32-додатки повинні використовувати функцію RegSetValueEx, яка дозволяє додатку встановлювати будь-яку кількість значень з іменами даних будь-яких типів.
RegSetValueEx - зберігає дані в полі значення відкритого ключа реєстру. Вона, також, може встановлювати додаткові значення та типи інформації для зазначеного ключа.
RegUnLoadKey - вивантажує зазначений ключ і його підключи з реєстру.
Приклад створення власного підрозділу у HKEY_CURRENT_USER та запис у нього 2-х значень.
.data
….
hKey dd 0
val dd 12345678h
path db 'D:\Pogggg\_prog\ASM\Masm\Projects\GetResource v2.0\fff.ini',0
lpdwDisp dd 0
sz_subkeys db 'My Prog',0
sz_key_path db 'Path',0
sz_key_val db 'val',0
...
.code
…
INVOKE RegCreateKeyEx, HKEY_CURRENT_USER,addr sz_subkeys, 0,0, 0,\
KEY_ALL_ACCESS, 0, addr hKey, addr lpdwDisp ; ств. Підрозділу «My Prog» у HKEY_CURRENT_USER
.if eax!=ERROR_SUCCESS ; якщо не створено (він вже створений)
INVOKE RegOpenKeyEx,HKEY_CURRENT_USER,addr sz_subkeys, 0, \
KEY_ALL_ACCESS, addr hKey ; відкриваємо
.endif
invoke RegSetValueEx, hKey,addr sz_key_path, 0, REG_SZ, addr path, 255 ; записуємо в ключ «'Path'» стрічку «D:\Pogggg\_prog\ASM\Masm\Projects\GetResource v2.0\fff.ini»
INVOKE RegSetValueEx, hKey,addr sz_key_val,0,REG_DWORD, addr val, 4 ; записуємо у ключ «val» значення «12345678h»
invoke RegCloseKey,hKey ; закриваємо підрозділ
…
Мал. 2. Результат програми