RegOpenKeyEx returned 2

RegOpenKeyEx returned 2

本文关键字:returned RegOpenKeyEx      更新时间:2023-10-16

我对RegOpenKeyEx()函数有问题。

lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKeyName, 0, KEY_READ, &hkMon);

函数返回错误代码 2(找不到文件),但注册表项存在于注册表中。我在Windows 7 64位和Windows Xp 32位上尝试这个。

使用注册表时,您必须了解 UAC 注册表虚拟化(用于兼容性的 VirtualStore 重定向)和 WOW64(32/64 位分离和注册表重定向/反射)。由于这些功能,您有时会在注册表中的不同位置结束,并且它与您在 Regedit 中看到的内容不匹配。

在这种情况下,最好的办法是使用进程监视器,这样您就可以看到您真正访问的密钥......