我的程序应该枚举已安装的OPOS设备。它们在注册表中列出所以我用RegOpenKeyEx
这样的:RegOpenKeyEx无法找到注册表项
LONG lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\OLEforRetail\\ServiceOPOS\\PosPrinter"), 0, KEY_READ , &key);
它工作在我的电脑上很好,但很奇怪的行为在另一台机器(Windows 7的SP1 32位)上。
我有两个几乎相同的测试项目(两个都是mfc对话框应用程序,主要区别是一个是用visual studio 2005创建的,另一个是在2010年创建的)。在其中一个项目中,上述代码正常工作,另一个RegOpenKeyEx
返回ERROR_FILE_NOT_FOUND
。此外,该键无法在regedit.exe中找到。
这里甚至发生了什么?
它可能是[注册表虚拟化](https://msdn.microsoft.com/en-us/library/windows/desktop/aa965884(v = vs.85).aspx)问题?另一方面,如果注册表__和___你的程序找不到密钥,可能是因为密钥不存在。 –