Est-il possible de déterminer si une clé de registre donnée est redirigée ou non? Mon problème est que je veux énumérer les clés de registre dans les vues de registre 32 bits et 64 bits d'une manière générique à partir d'une application 32 bits. Je pourrais simplement ouvrir chaque clé deux fois, d'abord avec KEY_WOW64_64KEY, puis avec KEY_WOW64_32KEY. Cependant, si la clé n'est pas redirigée, cela vous donne exactement la même clé et vous finissez par énumérer deux fois exactement le même contenu; C'est ce que j'essaie d'éviter.Comment déterminer si une clé de Registre est redirigée par WOW64?
J'ai trouvé quelques documentation dessus, mais il semble que le seul moyen est d'examiner la ruche et faire un tas de comparaisons de chaînes sur la clé. Une autre possibilité que j'ai pensée est d'essayer d'ouvrir Wow6432Node sur chaque sous-clé; si elle existe, la clé doit être redirigée. C'est à dire. si j'essaie d'ouvrir HKCU \ Software \ Microsoft \ Windows j'essaierais d'ouvrir les clés suivantes: HKCU \ Wow6432Node, HKCU \ Software \ Wow6432Node, HKCU \ Software \ Microsoft \ Wow6432Node et HKCU \ Software \ Microsoft \ Windows \ Wow6432Node. Malheureusement, la documentation semble impliquer qu'un enfant d'une clé redirigée n'est pas nécessairement redirigé de sorte que la route a également des problèmes.
Alors, quelles sont mes options ici?
Idéalement, nous aimerions reconstruire le tout en tant que x64, mais c'est encore un chemin sur la route pour nous. En attendant, c'est une sorte de mesure provisoire. L'application est essentiellement un composant système d'informations/scanner. Par exemple, en vérifiant le registre pour voir ce qu'il y a dans les différentes clés d'exécution. Je sais que ces clés spécifiques sont redirigées, mais je voudrais une méthode générique pour le déterminer afin que je ne sois pas au courant. – Luke
Comme je l'ai dit je crois que la bonne façon est de faire l'application x64, mais vous pourriez le faire d'une autre manière. Voir mon édition – SergGr
Je sais déjà comment accéder aux différentes vues; le problème est qu'il n'y a aucun moyen de déterminer si une clé donnée a une autre vue. Tenter d'ouvrir une autre vue sur une clé qui n'en possède pas vous donnera la vue partagée. – Luke