Проверка файлов реестра в C ++ (работает только половину времени) - PullRequest
0 голосов
/ 02 марта 2020
#include <Windows.h>
#include <iostream>
DWORD value;
DWORD size = sizeof(value);
void checkReg(const char* folder, const char* file) {
    if (ERROR_SUCCESS == RegGetValueA(HKEY_LOCAL_MACHINE, folder, file, RRF_RT_DWORD, nullptr, &value, &size)) {
        std::cout << "Registry File Exists\n";
    }
    else {
        std::cout << "Registry Key Does Not Exist\n";
    }
}
int main() {
    checkReg("Computer\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "SecurityHealth");
}

Как видно из приведенного выше кода, я пытаюсь проверить, существует ли определенный файл реестра или нет, однако по некоторым причинам я иногда получаю только правильный ответ. Файл реестра, который я пытаюсь проверить, как показано выше, говорит, что он не существует, хотя он явно существует в редакторе реестра. Что я делаю неправильно? и есть ли что-то еще в моем коде, что я должен изменить?

...