Я создал ключ, используя regedit, теперь хочу получить его значение. Он не дает никаких ошибок, но ничего не показывает. Код:Открытие ключа реестра в c
int main() {
HKEY hKey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Ehsan Akbari", 0, KEY_ALL_ACCESS, &hKey);
TCHAR sz[50];
DWORD size = 50,type;
RegEnumValue(hKey, 0, L"test", &size, NULL, &type, (LPBYTE)sz, &size);
RegCloseKey(hKey);
getch();
return 0;
}
Изображение смерзаться: picture
Что я делаю не так?
Редактировать
Когда я отлажена я увидел, что hKey
является NULL
, но GetLastError
ничего не сообщают.
Вы забыли часть, в которой вы печатаете значение, которое вы получили на экране. Вы также не проверяете ошибки, что помогло бы с 'hKey' быть' NULL'. – andlabs
Как вы знаете, что он не дает никаких ошибок, если вы не проверяете наличие каких-либо ошибок. Во всяком случае, ваш скриншот показывает ключ под 'HKEY_CURRENT_USER', и вы пытаетесь открыть его под' HKEY_LOCAL_MACHINE'. –
Посмотрите на документы - 'RegOpenKeyEx' не сообщает об ошибках через' GetLastError() ' – MrEricSir