1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
||||||
1 | ||||||
RegOpenKeyEx возвращает 2 хотя ключ в реестре точно существует26.07.2015, 20:45. Показов 13053. Ответов 15
Метки нет (Все метки)
RegOpenKeyEx возвращает 2 хотя ключ в реестре точно существует и в regedit я его вижу перепробывал уже тучу параметров подскажите что не так
0
|
26.07.2015, 20:45 | |
Ответы с готовыми решениями:
15
Не видит ключ в реестре, хотя он присутствует Ключ в реестре Удалить ключ в реестре Переименовать ключ в реестре |
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
26.07.2015, 20:47 | 2 |
мб нужны права админа?
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
26.07.2015, 20:50 | 3 | |||||
обратите внимание на параметр:
32 битный, и 64 битный. возможно, ключ который вам нужен существует только в 32битной версии.
0
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
|
26.07.2015, 21:00 [ТС] | 4 |
Насколько фпонимаю если она лежит в ветке с папкой Wow6432Node то ключ в 64м битном экземпляре Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run\\AVG_UI
0
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
|
26.07.2015, 21:25 [ТС] | 5 |
0
|
Ушел с форума
|
|
26.07.2015, 21:43 | 6 |
Уберите "Wow6432Node" в пути ключа реестра.
Как написал hoggy выше, доступ в 64-битную ветку получается с помощью флага KEY_WOW64_64KEY, а в 32-битную - с помощью KEY_WOW64_32KEY. Задавать в явном виде "Wow6432Node" не нужно.
0
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
|
26.07.2015, 21:48 [ТС] | 7 |
Wow6432Node убрал, пробовал KEY_WOW64_64KEY и KEY_WOW64_32KEY все равно возвращает 2(Система не может найти указанный файл.)
0
|
Ушел с форума
|
||||||
26.07.2015, 21:58 | 8 | |||||
Покажите исправленный код.
И еще. Должно быть так:
0
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
|||||||||||
26.07.2015, 22:16 [ТС] | 9 | ||||||||||
Добавлено через 18 минут Да все равно выдает ошибку "2" собака только уже на RegQueryValueEx ругается
0
|
Ушел с форума
|
|
26.07.2015, 22:49 | 10 |
У Вас на скриншоте выше четко видно, что открыт ключ HKLM\Software\Wow6432Node\...\Run,
то есть, 32-битная ветка. А в коде используется флаг KEY_WOW64_64KEY, т.е. ключ открывается 64-битный.
0
|
Заблокирован
|
|
27.07.2015, 10:54 | 11 |
Добавлю от себя.
Многих сбивает с толку аббревиатура WOW64 и этим многим кажется, что именно тут лежат файлы для 64-х битных приложений. На самом деле всё с точностью, да наоборот: WOW64 = Windows-on-Windows 64 Фактический это означает работу "обычного" виндуса на 64-х разрядном, то есть там лежат файлы, необходимые для работы "обычного 32-х разрядного" виндуса на 64-х битном.
2
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
||||||
27.07.2015, 12:02 [ТС] | 12 | |||||
Пробовал различные комбинаций менял 32 и 64 запускал с правами Админа все равно ошибка два вылазит
0
|
Ушел с форума
|
|
27.07.2015, 12:13 | 13 |
В RegQueryValueEx первым параметром следует передавать hKey, открытый
на предыдущем шаге, а не HKEY_LOCAL_MACHINE.
0
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
|
27.07.2015, 12:38 [ТС] | 14 |
О_о пошло движение теперь выдает ошибку 5 в доступе отказано это я так понимаю надо KEY_Write менять?
0
|
Ушел с форума
|
|
27.07.2015, 12:44 | 15 |
Сообщение было отмечено Yodas как решение
Решение
См. в MSDN на странице описания соответствующих функций работы с
реестром (RegSetValueEx, RegQueryValueEx и т.п.), какие там где права требуются.
1
|
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 26
|
|
27.07.2015, 15:10 [ТС] | 16 |
Если кому интересно правильный ключ доступа был KEY_QUERY_VALUE.
Всем спасибо вопрос закрыт!!!
0
|
27.07.2015, 15:10 | |
27.07.2015, 15:10 | |
Помогаю со студенческими работами здесь
16
Как создать ключ в реестре? Защитить от удаления ключ в реестре Возможно ли проверить ключ в реестре? В реестре не создается ключ (FASM) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |