Given a Windows process handle, how can I determine, using C++ code, whether the process is 32 bit or 64 bit?
If you have a process handle, use IsWow64Process().
If IsWow64Process()
reports true, the process is 32-bit running on a 64-bit OS.
If IsWow64Process()
reports false (or does not exist in kernel32.dll
), then the process is either 32-bit running on a 32-bit OS, or is 64-bit running on a 64-bit OS. To know if the OS itself is 32-bit or 64-bit, use GetNativeSystemInfo() (or GetSystemInfo() if GetNativeSystemInfo()
is not available in kernel32.dll
).