كيف يمكنني معرفة ما إذا أنا على x64 أو x86 باستخدام .الشبكة ؟

StackOverflow https://stackoverflow.com/questions/90855

  •  01-07-2019
  •  | 
  •  

سؤال

أود أن أتقدم المستخدمين الصحيح روابط نسخة مطورة من برنامج قائم على منصة ما هم على التوالي, لذا أريد أن أعرف ما إذا كان أنا حاليا تشغيل 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.

من هنا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top