确定C#中的可执行文件是64位还是32位

时间:2012-10-31 11:35:22

标签: c# .net header 64-bit exe

我正在寻找一种解决方案来确定给定的可执行文件是64位还是32位。

正在测试的可执行文件可能是基于.NET的。

我见过多种不同的技巧,不确定哪种技术与另一种不同。

我见过的技术:

最强有力的做法是什么?

1 个答案:

答案 0 :(得分:1)

我知道有两种方式:
 1.如果需要在运行时检查它:使用IsWow64Process。     http://msdn.microsoft.com/en-us/library/windows/desktop/ms684139(v=vs.85).aspx?ppud=4
    如果是x86进程 - 它将返回true,否则为false  2.如果您需要在运行时检查它,只需检查EXE PE格式     如果NT标题 - >可选标题 - > Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC     它是一个x64 exe / dll。

相关问题