有没有可能确定给定的注册表键是否被重定向?
我的问题是,我想以通用的方式从32位应用程序中枚举32位和64位注册表视图中的注册表键。我可以简单地两次打开每个键,首先使用KEY_WOW64_64KEY,然后使用KEY_WOW64_32KEY。但是,如果该键未被重定向,则会得到完全相同的键,并且最终会枚举完全相同的内容;这就是我想避免的。
我确实找到了一些与此相关的文档, 但看起来唯一的方法是检查hive并在key上进行一堆字符串比较。 我想到的另一个可能性是尝试在每个子键上打开Wow6432Node; 如果存在,则必须重定向该键。 即,如果我正在尝试打开HKCU \ Software \ Microsoft \ Windows,则会尝试打开以下键: HKCU \ Wow6432Node,HKCU \ Software \ Wow6432Node,HKCU \ Software \ Microsoft \ Wow6432Node和HKCU \ Software \ Microsoft \ Windows \ Wow6432Node。 不幸的是,文档似乎暗示重定向键的子项不一定被重定向,因此该路线也存在问题。那么,我的选择是什么?