Heim >Backend-Entwicklung >C++ >Wie kann ich feststellen, ob ein C#-Prozess 32-Bit oder 64-Bit ist?
Bestimmen der Bitness eines Prozesses
In C# wird bestimmt, ob ein bestimmter Prozess im 32-Bit- oder 64-Bit-Modus ausgeführt wird wird durch verschiedene Methoden erreicht.
IntPtr Size Prüfen
Der einfachste Ansatz besteht darin, die Größe des IntPtr-Datentyps zu überprüfen:
if (IntPtr.Size == 4) { // 32-bit process } else if (IntPtr.Size == 8) { // 64-bit process }
WOW64-Prüfung
Um festzustellen, ob andere Beachten Sie Folgendes, wenn Prozesse im 64-Bit-Emulator (WOW64) ausgeführt werden Code:
private static bool IsWin64Emulator(this Process process) { if ((Environment.OSVersion.Version.Major > 5) || ((Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor >= 1))) { bool retVal; return NativeMethods.IsWow64Process(process.Handle, out retVal) && retVal; } return false; // not on 64-bit Windows Emulator }
wobei NativeMethods.IsWow64Process ein DLL-Import ist:
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool IsWow64Process([In] IntPtr process, [Out] out bool wow64Process);
Das obige ist der detaillierte Inhalt vonWie kann ich feststellen, ob ein C#-Prozess 32-Bit oder 64-Bit ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!