Сейчас на форуме: jinoweb (+6 невидимых) |
eXeL@B —› Программирование —› Чтение х64 ветки реестра из х86 процесса |
Посл.ответ | Сообщение |
|
Создано: 27 декабря 2018 05:46 · Поправил: BlackCode · Личное сообщение · #1 Всем привет Собственно основной вопрос, это как прочитать из ветки х64 разрядного реестра необходимое значение, из х86 процесса. Перед тем как написать сюда, естественно перекопал гугл. Четкого рабочего метода (кода) не нашел. Куча всяких "рекомендаций" без конкретики. Может правда не там искал. В общем задача состоит в том, чтобы прочитать из ветки деинсталлятора значение "InstallLocation", т.е. путь куда установлена программа. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Proc_is1] "InstallLocation"="C:\Program Files\Proc\SuperProc" К сожалению целевая программа больше не создает никаких ключей в реестре, из которых можно было бы получить путь ее установки на жестком диске. Такой код естественно не работает, ключ-то открывает, но RegQueryValueEx выдает в eax == 2, типа не находит значение. Code:
С флагами, типа KEY_WOW64_32KEY и KEY_WOW64_64KEY поигрался, но безрезультатно. Большая просьба, если кто-то когда-то сталкивался с аналогичной задачей поделиться опытом, а лучше рабочим кодом Заранее премного благодарен за участие. Спасибо, и с наступающим Новым годом |
|
Создано: 27 декабря 2018 06:49 · Личное сообщение · #2 у меня на дельфи 7 такой код воркает: Code:
----- Array[Login..Logout] of Life | Сообщение посчитали полезным: BlackCode, TerminatorX |
|
Создано: 27 декабря 2018 07:31 · Личное сообщение · #3 Kindly пишет: у меня на дельфи 7 такой код воркает: Спасибо большое У меня тоже заработало Code:
У меня оказывается в иклюде масма было определено так KEY_WOW64_64KEY = 100 Т.е. десятеричное число, по этому и не работало |
eXeL@B —› Программирование —› Чтение х64 ветки реестра из х86 процесса |
Эта тема закрыта. Ответы больше не принимаются. |