Здравствуйте, уважаемые форумчане. Очень нужна ваша помощь в организации записи и чтения данных из реестра. Для начала помогите произвести запись значения DWORD в реестр. Пытаюсь создать подраздел реестра при помощи ф-ции RegCreateKey. Ничего не получается, ф-ция возвращает ошибку. Ну а о записи значения финкцией RegSetValue тогда вообще можно забыть. Файл WriteRegistry.inc include windows.inc include user32.inc include kernel32.inc include advapi32.inc include masm32.inc include C:\MASM32\MACROS\strings.mac includelib user32.lib includelib kernel32.lib includelib advapi32.lib includelib masm32.lib .data DefaultPort dw (1234) .data? CreateKeyHandle HANDLE ? Код (Text): .386 .model flat, stdcall option casemap:none include WriteRegistry.inc .code start: invoke RegCreateKey,HKEY_LOCAL_MACHINE,$CTA0('SOFTWARE\SOCK4PROXY\KURS\VER1'), ADDR CreateKeyHandle .if (eax!=ERROR_SUCCESS) invoke MessageBox,NULL,$CTA0('Ошибка создания ветки реестра.'),NULL,MB_OK .endif invoke RegSetValue,CreateKeyHandle,$CTA0('PORT'),REG_DWORD,ADDR DefaultPort,LENGTHOF DefaultPort .if (eax!=ERROR_SUCCESS) invoke MessageBox,NULL,$CTA0('Ошибка записи значения.'),NULL,MB_OK .endif invoke ExitProcess, 0 end start ЗАПУСКАТЬ ТОЛЬКО С ПРАВАМИ АДМИНИСТРАТОРА!!! ИНАЧЕ МОЖНО И НЕ ПЫТАТЬСЯ ПИСАТЬ В HKEY_LOCAL_MACHINE Прикреплен Radasm-проект
vitalik2388 Код (Text): SubKey db 'SOFTWARE\SOCK4PROXY\KURS\VER1',0 CreateKeyHandle dd 0 Код (Text): invoke RegCreateKey,HKEY_LOCAL_MACHINE,offset SubKey, offset CreateKeyHandle у меня все работает
Ничего особенного. 1. Используйте Код (Text): RegCreateKeyEx 2. Есть русскоязычная документация по этой функции. Windows must die