Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Работа с реестром


Автор: Dimsan 15.10.2011, 18:25
Здравствуйте. Пишу в учебных целях программу для работы с реестром. Пользуюсь WinAPI функциями. 
Например, есть функция RegOpenKeyExA. Первый параметр hKey [in] - хэндл корневого ключа. 
Проблема заключается в следующем. У меня есть строка вида 'HKEY_CURRENT_USER\New'. Разделить её на несколько частей - не проблема. Но каким образом из строки 'HKEY_CURRENT_USER' получить значение hKey?
Видел решения на высокоуровневых языках. Интересно, как такое правильно реализовать на Ассемблере?

Автор: 500mhz 17.10.2011, 17:22
подключить "windows.inc"

или в сорце написать
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

Автор: Dimsan 18.10.2011, 19:23
Это проблему никак не решает.
Собственно, решение я уже нашёл. Когда время будет, выложу.

Автор: 500mhz 19.10.2011, 12:37

invoke lstrcmp,str1,гдетотамвтораястрока
cmp eax,0
je .cool

......
......

.cool:
invoke RegOpenKeyEx,HKEY_CURRENT_USER,итд итп


str1: db "HKEY_CURRENT_USER",0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)