مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

guest

عضویت از 1394/06/01

تشخیص ۳۲ یا ۶۴ بیتی بودن ویندوز در سی شارپ

  • پنجشنبه 26 شهریور 1394
  • 18:24
تشکر میکنم

تشخیص ۳۲ یا ۶۴ بیتی بودن ویندوز در سی شارپ چگونه است ؟

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

guest

عضویت از 1394/06/01

  • پنجشنبه 26 شهریور 1394
  • 18:25

پیدا کردم 

static bool is64BitProcess = (IntPtr.Size == 8);        static bool is64BitOperatingSystem = is64BitProcess || InternalCheckIsWow64();
 
 
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool IsWow64Process(
    [In] IntPtr hProcess,
    [Out] out bool wow64Process
);
 
 
public static bool InternalCheckIsWow64()
{
    if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) ||
        Environment.OSVersion.Version.Major >= 6)
    {
        using (Process p = Process.GetCurrentProcess())
        {
            bool retVal;
            if (!IsWow64Process(p.Handle, out retVal))
            {
                return false;
            }
            return retVal;
        }
    }
    else
    {
        return false;
    }
}

تست

MessageBox.Show(is64BitOperatingSystem.ToString())  ;

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)