114 votes

Comment savoir qu'un processus est 32 bits ou 64 bits par programme

Comment vérifier si une application / un processus s'exécute en mode 32 bits ou 64 bits? pour par exemple. Je vais commencer un processus abc.exe. En c #, comment savoir si un abc.exe 32 bits est en cours d’exécution ou un autre 64 bits? s'il vous plaît aidez ..

Ce n'est pas le processus actuel .. J'interroge sur un processus 'abc.exe'

196voto

Jesse C. Slicer Points 11750

Une des manières plus intéressantes que j’ai vu est la suivante :

Pour savoir si autres processus sont en cours d’exécution dans l’émulateur 64 bits (WOW64), utilisez ce code :

156voto

Sam Points 1121

Si vous utilisez .net 4.0, c’est un bon mot pour le processus actuel :

``

http://msdn.Microsoft.com/en-US/Library/System.Environment.is64bitprocess.aspx

11voto

Darwyn Points 1846

Vous pouvez vérifier la taille d’un pointeur pour déterminer s’il est 32bits ou 64bits.

5voto

Praveen M B Points 1
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool lpSystemInfo);

public static bool Is64Bit()
{
    bool retVal;

    IsWow64Process(Process.GetCurrentProcess().Handle, out retVal);

    return retVal;
}

1voto

Tony The Lion Points 28208

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X