Помогите с режимом Debug Release в vs2008 - PullRequest
0 голосов
/ 02 мая 2011

Я написал некоторый базовый код для чтения из реестра с RegGetValue, который отлично работает в режиме отладки.Однако в режиме выпуска не удается прочитать значение реестра.Там нет никаких ошибок, просто не работает.Что я могу сделать, чтобы эта функция работала в режиме релиза?(Windows 7 x64, VS 2008)

DWORD sz, regval=0; 
RegCreateKeyEx(
    HKEY_CURRENT_USER,
    _T("Software\\App"),
    0,
    NULL,
    REG_OPTION_NON_VOLATILE,
    KEY_ALL_ACCESS,
    NULL,
    NULL,
    &sz);
RegGetValue(
    HKEY_CURRENT_USER,
    _T("Software\\App"),
    _T("Value"),
    RRF_RT_ANY,
    NULL,
    &regval,
    &sz);

1 Ответ

0 голосов
/ 02 мая 2011

Определите, как этот код "отлично работает" в режиме отладки.

Этот код добавляет ключ и затем читает значение под ним, но нет кода для добавления значения.

Если это полный код, то вам нужно добавить значение с именем «Значение», прежде чем пытаться его прочитать.См. RegSetValueEx , чтобы узнать, как это сделать.

Похоже, что приведенный выше код не будет правильно извлекать значение, потому что sz должен быть установлен на входе, чтобы указать, насколько большой буфер доступен,Трудно сказать без полного кода, но так как это значение равно REG_DWORD, это будет, например, sz = sizeof(DWORD);.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...