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?
Aşağıdaki kod çalışan Windows'un 64 bit olup olmayacağını belirleyecektir.
bool is64BitProcess = (IntPtr.Size == 8);\r\nbool is64BitOperatingSystem = is64BitProcess || InternalCheckIsWow64();\r\n\r\n[DllImport(\"kernel32.dll\", SetLastError = true, CallingConvention = CallingConvention.Winapi)]\r\n[return: MarshalAs(UnmanagedType.Bool)]\r\nprivate static extern bool IsWow64Process(\r\n [In] IntPtr hProcess,\r\n [Out] out bool wow64Process\r\n);\r\n\r\npublic static bool InternalCheckIsWow64()\r\n{\r\n if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) ||\r\n Environment.OSVersion.Version.Major >= 6)\r\n {\r\n using (Process p = Process.GetCurrentProcess())\r\n {\r\n bool retVal;\r\n if (!IsWow64Process(p.Handle, out retVal))\r\n {\r\n return false;\r\n }\r\n return retVal;\r\n }\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n}
","url":"https://uzmanim.net/soru/windows-64-bit-olup-olmadigini-net-ile-nasil-anlarim/945#a946","author":{"@type":"Person","name":"alattin"},"comment":[],"commentCount":0,"dateCreated":"2013-10-15T17:31:22.03+03:00","dateModified":"2013-10-15T17:31:22.03+03:00","text":"
Aşağıdaki kod çalışan Windows'un 64 bit olup olmayacağını belirleyecektir.
bool is64BitProcess = (IntPtr.Size == 8);\r\nbool is64BitOperatingSystem = is64BitProcess || InternalCheckIsWow64();\r\n\r\n[DllImport(\"kernel32.dll\", SetLastError = true, CallingConvention = CallingConvention.Winapi)]\r\n[return: MarshalAs(UnmanagedType.Bool)]\r\nprivate static extern bool IsWow64Process(\r\n [In] IntPtr hProcess,\r\n [Out] out bool wow64Process\r\n);\r\n\r\npublic static bool InternalCheckIsWow64()\r\n{\r\n if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) ||\r\n Environment.OSVersion.Version.Major >= 6)\r\n {\r\n using (Process p = Process.GetCurrentProcess())\r\n {\r\n bool retVal;\r\n if (!IsWow64Process(p.Handle, out retVal))\r\n {\r\n return false;\r\n }\r\n return retVal;\r\n }\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n}
","upvoteCount":0},"answerCount":2,"suggestedAnswer":[{"@type":"Answer","name":"
Aşağıdaki kod çalışan Windows'un 64 bit olup olmayacağını belirleyecektir.
bool is64BitProcess = (IntPtr.Size == 8);\r\nbool is64BitOperatingSystem = is64BitProcess || InternalCheckIsWow64();\r\n\r\n[DllImport(\"kernel32.dll\", SetLastError = true, CallingConvention = CallingConvention.Winapi)]\r\n[return: MarshalAs(UnmanagedType.Bool)]\r\nprivate static extern bool IsWow64Process(\r\n [In] IntPtr hProcess,\r\n [Out] out bool wow64Process\r\n);\r\n\r\npublic static bool InternalCheckIsWow64()\r\n{\r\n if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) ||\r\n Environment.OSVersion.Version.Major >= 6)\r\n {\r\n using (Process p = Process.GetCurrentProcess())\r\n {\r\n bool retVal;\r\n if (!IsWow64Process(p.Handle, out retVal))\r\n {\r\n return false;\r\n }\r\n return retVal;\r\n }\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n}
","url":"https://uzmanim.net/soru/windows-64-bit-olup-olmadigini-net-ile-nasil-anlarim/945#a946","author":{"@type":"Person","name":"alattin"},"comment":[],"commentCount":0,"dateCreated":"2013-10-15T17:31:22.03+03:00","dateModified":"2013-10-15T17:31:22.03+03:00","text":"
Aşağıdaki kod çalışan Windows'un 64 bit olup olmayacağını belirleyecektir.
bool is64BitProcess = (IntPtr.Size == 8);\r\nbool is64BitOperatingSystem = is64BitProcess || InternalCheckIsWow64();\r\n\r\n[DllImport(\"kernel32.dll\", SetLastError = true, CallingConvention = CallingConvention.Winapi)]\r\n[return: MarshalAs(UnmanagedType.Bool)]\r\nprivate static extern bool IsWow64Process(\r\n [In] IntPtr hProcess,\r\n [Out] out bool wow64Process\r\n);\r\n\r\npublic static bool InternalCheckIsWow64()\r\n{\r\n if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) ||\r\n Environment.OSVersion.Version.Major >= 6)\r\n {\r\n using (Process p = Process.GetCurrentProcess())\r\n {\r\n bool retVal;\r\n if (!IsWow64Process(p.Handle, out retVal))\r\n {\r\n return false;\r\n }\r\n return retVal;\r\n }\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n}
","upvoteCount":0},{"@type":"Answer","name":"
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..
","url":"https://uzmanim.net/soru/windows-64-bit-olup-olmadigini-net-ile-nasil-anlarim/945#a3362","author":{"@type":"Person","name":"masker"},"comment":[],"commentCount":0,"dateCreated":"2014-04-06T03:16:30.83+03:00","dateModified":"2014-04-06T03:16:30.83+03:00","text":"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..
","upvoteCount":0}],"upvoteCount":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?
Toplam 2 cevap
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; } }
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..