MFC-使用CSettingStore打开注册表项时出现问题

MFC-使用CSettingStore打开注册表项时出现问题,mfc,Mfc,我想通过读取键“Software\Microsoft\NET Framework Setup\NDP\v3.5”的“Install”值来检查是否安装了.NET 3.5 Framework。我很高兴地发现有一个MFC类CSettingStore可以轻松地完成这项工作,但我发现了CSettingStore.Open总是返回false 代码如下: bool bOpen = reg.Open(_T("Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5"

我想通过读取键“Software\Microsoft\NET Framework Setup\NDP\v3.5”的“Install”值来检查是否安装了.NET 3.5 Framework。我很高兴地发现有一个MFC类CSettingStore可以轻松地完成这项工作,但我发现了CSettingStore.Open总是返回false

代码如下:

bool bOpen = reg.Open(_T("Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5"));
if (bOpen && reg.Read (_T("Install"), dwInstall))
{
    return dwInstall == 1;
}
在这种情况下,reg.Open始终返回false

代码有问题吗?

在我看来:


所以它看起来像一个文档错误。是否
CSettingsStore reg(真,真)工作得更好?

您能否演示如何构造
reg
对象?CSettingsStore reg(FALSE,TRUE);非常感谢你。正是文档错误。我现在使用CSettingsStore reg(TRUE,TRUE),它可以正常工作。
<quote>
CSettingsStore::CSettingsStore(BOOL bAdmin, BOOL bReadOnly) :
m_bReadOnly(bReadOnly), m_bAdmin(bAdmin), m_dwUserData(0)
{
m_reg.m_hKey = bAdmin ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
}

</quote>