Windows 64 bit olup olmadığını .Net ile nasıl anlarım?

0

C# ile yazılmış bir Windows Forms uygulmasında aşağıdaki kod çalışan işletim sistemi ile ilgili gerekli bilgiyi veriyor

string os_platform = System.Environment.OSVersion.Platform.ToString();

Bu kod geriye "Win32NT" ifadesi döndürüyor.  Fakat çalışan işletim sistemi 32 bit veya 64 bit olsada geriye "Win32NT" dönüyor.

C# .Net ile yazılmış bir Windows uygulamasında, uygulamanın çalıştırıldığı bilgisayarın işletim sisteminin, Windows'un, 64 bit olup olmadığını nasıl anlarım?
 

alattin alattin (14966)
6 yıl önce sordu

    Toplam 2 Cevap


    0

    Aşağıdaki kod çalışan Windows'un 64 bit olup olmayacağını belirleyecektir.

    bool is64BitProcess = (IntPtr.Size == 8);
    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;
        }
    }

     

    alattin alattin (14966)
    6 yıl önce cevaplandı

      0

      Environment.Is64BitOperatingSystem

      bir diğer yöntem bool değer 64bit ise true değilse false döner.. yanlızca .Net 3.5 ve üstü sürümlerde çalışıyor..

      masker masker (93)
      6 yıl önce cevaplandı

        üyelik gerektirir

        Cevap yazabilmek için üye girişi yapmalısınız.

        Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
        uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol