Создание разделов реестра в Windows 7 - PullRequest
2 голосов
/ 08 февраля 2010

При попытке обновить программное обеспечение C ++ для работы в Windows 7 я столкнулся с некоторыми проблемами при создании ключей реестра с нуля.

Это мой код:

//
// Create a brand new registry key
//
LONG Registry::CreateRegister( std::string path )
{
    HKEY hKey;  
    DWORD dwDisposition;

    LONG openRes = RegCreateKeyEx( HKEY_CLASSES_ROOT,
                                   path.c_str(),
                                   0, 
                                   NULL,
                                   REG_OPTION_NON_VOLATILE,
                                   KEY_ALL_ACCESS,
                                   NULL,
                                   &hKey,
                                   &dwDisposition );    

    RegCloseKey( hKey );

    return openRes;
}

В Windows XP функция RegCreateKeyEx успешно создает раздел реестра, возвращая значение success (0). В Windows 7 я получаю возвращаемое значение 5 (доступ запрещен) из той же функции.

Я использовал инструмент regedit, чтобы убедиться, что у моей учетной записи есть необходимые полные разрешения, но безуспешно. Может кто-нибудь увидеть, где я могу пойти не так, или есть другие ошибки и известные проблемы, о которых я должен знать при использовании Visual Studio в Windows 7?

Программное обеспечение в настоящее время написано в Visual Studio 2003.

Спасибо в ожидании.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2010

Начиная с Vista, доступ к определенным областям реестра был заблокирован. Пользователь должен иметь «повышенные» разрешения. Попробуйте запустить программу с помощью «Запуск от имени администратора» (щелкните ее правой кнопкой мыши в проводнике).

1 голос
/ 08 февраля 2010
...