我对RegOpenKeyEx()函数有问题。

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

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

最佳答案

使用注册表时,您必须了解UAC registry virtualization(兼容性的VirtualStore重定向)和WOW64(32/64位分隔和registry redirection/reflection)。由于这些功能,您有时最终会在注册表中的其他位置出现,并且与您在Regedit中看到的内容不匹配。

在这种情况下,最好的方法是使用Process Monitor,这样您就可以看到您真正在访问哪个键...

关于c++ - RegOpenKeyEx返回了2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28141685/

10-09 18:26