繁体   English   中英

MFC-使用CSettingStore打开注册表项的问题

[英]MFC - Problem using CSettingStore to open registry key

我想通过读取键“ 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。

代码有什么问题吗?

http://msdn.microsoft.com/zh-cn/library/bb982796.aspx中,我阅读:

<quote>

bAdmin的含义实际上是相反的,如果bAdmin为true,则密钥为HKEY_LOCAL_MACHINE ;如果为false,则密钥为HKEY_CURRENT_USER 您可以在afxsettingsstore.cpp亲自afxsettingsstore.cpp

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>

因此,它看起来像是一个文档错误。 是否CSettingsStore reg (TRUE, TRUE); 工作更好?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM