كيف يمكنني معرفة ما إذا أنا على x64 أو x86 باستخدام .الشبكة ؟
سؤال
أود أن أتقدم المستخدمين الصحيح روابط نسخة مطورة من برنامج قائم على منصة ما هم على التوالي, لذا أريد أن أعرف ما إذا كان أنا حاليا تشغيل OS x86 أو x64 من نظام التشغيل.
أفضل لقد وجدت يستخدم Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE")
, ولكن أود أن أعتقد أنه سيكون هناك بعض المدمج في مرفق هذا ؟
المحلول
البيئة.Is64BitOperatingSystem و البيئة.Is64BitProcess يتم عرض في .صافي 4.ل .صافي 2 سوف تحتاج إلى محاولة بعض من إجابات أخرى.
نصائح أخرى
الاتصال IsWow64Process
لمعرفة ما إذا كانت عملية 32-بت يعمل في WOW64 على نظام تشغيل 64 بت.يمكنك الاتصال GetNativeSystemInfo
لمعرفة بالضبط ما هو عليه:على wProcessorArchitecture member
من SYSTEM_INFO
سوف يكون PROCESSOR_ARCHITECTURE_INTEL
32 بت ، PROCESSOR_ARCHITECTURE_AMD64
إلى x64 ، PROCESSOR_ARCHITECTURE_IA64
إنتل إيتانيوم.
التحقق من حجم IntPtr مع المشير.SizeOf.32 بت = 4 بايت و 64 بت = 8 بايت.
تحرير:أنا متأكد من أن هذا هو ما كنت تبحث عنه بعد قراءة السؤال مرة أخرى.
يمكنك تحديد الكثير من خلال متغيرات بيئة المستخدم في ج# - كيفية الحصول على ملفات البرنامج (x86) على ويندوز 64 بت [و هذا حدث تناسب لي أفضل من مايك الإجابة التي لا +1 كما يحدث أن تكون مهتمة في إيجاد ملفات البرنامج directory name]
الاختيار فقط IntPtr.Size
.تحتاج إلى أن يكون الهدف منصة AnyCPU.