كيف أحصل على المسار الحقيقي إلى مفتاح REG؟
-
18-09-2019 - |
سؤال
إذا كنت تقوم بتشغيل تطبيق 32 بت على جهاز 64 بت (أستخدم Windows 7) واكتب هذا الرمز
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\XXX")
سوف تحصل في الواقع على المفتاح من
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\XXX
و لا
HKEY_LOCAL_MACHINE\SOFTWARE\XXX
progromatically منح registrykey كيف يمكنني العمل على المسار الحقيقي في التسجيل؟
المحلول
هذا المسار الحقيقي للغاية، وسوف يمكن تطبيق 32 بت الوصول إلى مفتاح التسجيل في هذا المفتاح الفرعي. الحصول على القيمة التي سيشاهدها تطبيق 64 بت من الناحية الفنية، ليس فقط مع .NET. سيكون لديك إلى P / Invoke RegoPenKeyex () et al حتى تتمكن من تحديد KEY_WOW64_64KEY العلم.
تحديث: موجهة في .NET 4.0 مع RegistryKey.openbasekey (). تتيح لك وسيطة RegistryView تحديد طريقة العرض التي تريدها. كنت تستخدم RegistryView.register64 في هذه الحالة.
نصائح أخرى
إنها وظيفة ما إذا كان البرنامج قد تم تجميعه أو لا يوجد أو 64 بت Windows وما إذا كان يعمل على 32 أو 64 بت Windows. معرفة ما إذا كان أدناه يساعد: