Détermination du nombre de bits d'un processus
En C#, déterminer si un processus particulier s'exécute en mode 32 bits ou 64 bits est obtenu grâce à diverses méthodes.
IntPtr Size Vérifier
L'approche la plus simple consiste à vérifier la taille du type de données IntPtr :
if (IntPtr.Size == 4) { // 32-bit process } else if (IntPtr.Size == 8) { // 64-bit process }
WOW64 Vérifier
Pour vérifier si d'autres les processus sont en cours d'exécution dans l'émulateur 64 bits (WOW64), tenez compte des éléments suivants 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 }
où NativeMethods.IsWow64Process est une importation DLL :
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool IsWow64Process([In] IntPtr process, [Out] out bool wow64Process);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!