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 (16999)
10 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 (16999)
    10 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)
      10 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