在打开注册表时,32位程序往往在64为系统上不能直接访问64的路径,都是自动跳到WoW6432Node下面,
在打开注册表时添加“KEY_WOW64_64KEY”标志,就能直接访问64为注册表路径。
LONG lReturn = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Software\\***", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, &hKey);对应的,访问32位注册表示可以加上KEY_WOW64_32KEY“”标志。
LONG lReturn = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Software\\***", 0, KEY_ALL_ACCESS | KEY_WOW64_32KEY, &hKey);
一般情况下32为程序打开注册表示默认“KEY_WOW64_32KEY”标志,访问64位支持注册表时,传个“KEY_WOW64_64KEY”位标志即可,但是经过测试,Window2000的系统是不支持这个标志的,所以32为程序运行在2000的系统或者以下系统时,把这个标志改成“0”即可;