我写了一些基本代码,用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,
®val,
&sz);
答案 0 :(得分:0)
在调试模式下定义此代码如何“正常工作”。
此代码添加一个键,然后在其下面读取一个值,但没有代码可以添加值。
如果这是完整代码,则需要在尝试读取之前添加名为“Value”的值。有关如何执行此操作,请参阅RegSetValueEx。
看起来上面的代码无法正确检索值,因为必须在输入上设置sz
以指示缓冲区有多大。很难说没有完整的代码,但由于此值为REG_DWORD
,因此这将是sz = sizeof(DWORD);
。