使用Qt,如何检测Windows注册表项是否存在

使用Qt,如何检测Windows注册表项是否存在,qt,qt4,Qt,Qt4,我正在尝试使用Qt检测客户端计算机上是否安装了.Net QSettings netKey( "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4", QSettings::NativeFormat); if(!netKey){ //what do I check here to see if the key was found?? } 编辑: 这可以工作,但检测的是一个

我正在尝试使用Qt检测客户端计算机上是否安装了.Net

 QSettings netKey(
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4",
    QSettings::NativeFormat);

    if(!netKey){ //what do I check here to see if the key was found??

    }
编辑:

这可以工作,但检测的是一个值,而不是一个键

// path is "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\client"

if(netKey.value("InstallPath").isNull()){
// this works but is detecting a value, not key
}

请参阅“直接访问Windows注册表”一节中的。使用value()方法获取键的值,或使用contains()检查键是否存在。

我尝试了使用“default”和“.”的.value和.contains,检查isNull或isValid,但它们总是返回false:/似乎由于键的默认值为空,因此未检测到它。我能够检测到具有实际值的子键。但仍然不确定如何检测是否存在实际的密钥(不是值)。netKey.contains(“InstallPath”)?