Comment ouvrir un WOW64 clé de registre à partir d'une version 64-bits .NET application
Mon .NET application (tout-UC) a besoin de lire une valeur de registre créées par un programme 32 bits. Sur 64-bits de Windows, cela se passe sous les Wow6432Node clé dans le registre. J'ai lu que vous ne devriez pas coder en dur pour le Wow6432Node, alors quel est le bon chemin pour y accéder avec .NET?
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous avez explicitement le besoin de lire une valeur écrite par un 32 bits, programme en 64 bits du programme, c'est OK pour le code il. Tout simplement parce que il n'y a vraiment pas d'autre option.
Je serais bien sûr abstraite à une fonction d'assistance. Par exemple
Si vous pouvez changer de cible .Net version v4, alors vous pouvez utiliser la nouvelle OpenBaseKey, par exemple,
La bonne façon serait d'appeler le natif de registre de l'api et de passer le
KEY_WOW64_32KEY
drapeau à RegOpenKeyEx/RegCreateKeyExL'extension de Anders de la réponse, il y a un bon exemple d'emballage de la résultant de la poignée .NET RegistryKey objet sur Shahar Prish blog - assurez-vous de lire les commentaires trop bien.
Noter que la non utilisation de l'pinvoke.net wrapper de RegOpenKeyEx énormément de questions.