在vs2008中帮助调试发布模式

时间:2011-05-01 20:11:16

标签: visual-studio-2008 visual-c++

我写了一些基本代码,用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 :(得分:0)

在调试模式下定义此代码如何“正常工作”。

此代码添加一个键,然后在其下面读取一个值,但没有代码可以添加值。

如果这是完整代码,则需要在尝试读取之前添加名为“Value”的值。有关如何执行此操作,请参阅RegSetValueEx

看起来上面的代码无法正确检索值,因为必须在输入上设置sz以指示缓冲区有多大。很难说没有完整的代码,但由于此值为REG_DWORD,因此这将是sz = sizeof(DWORD);