RegOpenKeyExW с HKEY_LOCAL_MACHINE возвращает 2 в 64-разрядной версии Windows Embedded 7

Мне нужно прочитать значения ключей в HKEY_LOCAL_MACHINE \ SOFTWARE из моего приложения. Я использую следующий фрагмент, чтобы сделать это, но он всегда возвращает 2.

std::wstring strTmp;
strTmp = L"SOFTWARE\\TEMP";
RegOpenKeyExW(HKEY_LOCAL_MACHINE, strTmp.c_str(), 0, KEY_READ, &hKey))

Но когда я использую HKEY_CURRENT_USER тогда я могу успешно читать информацию из HKEY_CURRENT_USER\SOFTWARE, Я понимаю, что мое приложение не может прочитать из HKEY_LOCAL_MACHINE из-за прав доступа. Я запустил свое приложение с правами администратора (используя «Запуск от имени»), но это мне не помогло.

Может кто-нибудь пролить свет на то, как я могу получить доступ к HKEY_LOCAL_MACHINE с помощью RegOpenKeyExW,

Я пошел по ссылкам 1, 2 но это не помогло мне,

-1

Решение

Мои извинения за мои недоразумения. На самом деле я должен был использовать KEY_WOW64_32KEY флаг вместо KEY_WOW64_64KEY в RegOpenKeyExW(HKEY_LOCAL_MACHINE, strTmp.c_str(), 0, KEY_READ | KEY_WOW64_32KEY, &hKey)) чтобы мое приложение заработало. Спасибо Мохамаду Эльгави.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]