Открываешь ключ реестра функцией RegOpenKey, параметы hKey HKEY, lpszKey LPSTR, lphkSubKey PHKEY
LONG RegOpenKey(hkey, lpszSubKey, phkResult)
HKEY hkey; /* handle of an open key */
LPTSTR lpszSubKey; /* address of name of subkey to open */
PHKEY phkResult; /* address of handle of open key */ ---
Где hKey - Один из предопределенных хендлов в инклюде, в Асме описываются следующим образом:
HKEY_CLASSES_ROOT equ 80000000h
HKEY_CURRENT_USER equ 80000001h
HKEY_LOCAL_MACHINE equ 80000002h
HKEY_USERS equ 80000003h
HKEY_PERFORMANCE_DATA equ 80000004h
HKEY_CURRENT_CONFIG equ 80000005h
HKEY_DYN_DATA equ 80000006h ---
Думаю описать это в С или найти соответствующий файл заголовка не сложно.
lpszKey -> указатель на null-terminated строку с именем ключа, например "Software\Microsoft\Windows\CurrentVersion\Run", 0
lphkSubKey -> Указатель на буфер для возвращаемого хендла, который будет использоваться в последующих функциях.
Если все Ok функция вернет 0.
Функция RegSetValueEx позволяет содать значение в ключе реестра любого типа. С этим тоже все просто:
LONG RegSetValueEx(hkey, lpszValueName, dwReserved, fdwType, lpbData, cbData)
HKEY hkey; /* identifies key to set value for */
LPTSTR lpszValueName; /* address of value to set */
DWORD dwReserved; /* must be zero */
DWORD fdwType; /* type of value */
LPBYTE lpbData; /* address of value data */
DWORD cbData; /* size of value data */ ---
Более подробно смотри Win32API Help. Значение fdwType зависит от типа данных значения.
Далее выполняются функции RegFlushKey и RegCloseKey
|