在 64 位 Windows 版本中,有没有办法判断可执行文件是否需要 64 位才能启动?
我正在寻找一种比 Process Explorer 更好的方法来查找,最好是在启动之前。
编辑:那么我怎么知道应用程序需要 Win64 环境?
答案1
EXE 或 DLL 头中的处理器体系结构标志会告诉你。PEDUMP 实用程序 (http://www.wheaty.net/downloads.htm) 将转储该条目。在“文件头”部分中,查看“机器”。i386(32 位 Intel)标志为 0x014c。64 位 x86 标志为 0x8664。
答案2
另一个简单的方法是使用 PESnoop:
C:\>pesnoop photoshop.exe /pe_dh
-------------------------------------------------------------------------------
PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda
-------------------------------------------------------------------------------
Dump of file: photoshop.exe...
Modus: 64bit Portable Executable Image...
...
可以在这里获取 PESnoop:http://www.prestosoft.com/download/plugins/PESnoop.zip
答案3
对于 GUI 爱好者来说,最简单的方法就是安装这个 Explorer 扩展:
答案4
一些供应商还会在文件中放入元信息,以表明它是 64 位二进制文件。获取 .exe 的属性并查看版本选项卡。例如,SQL Server 2005 在描述中显示“SQL Server Windows NT - 64 位”。在“其他版本信息”下的字段中,它还有其他信息表明 64 位。不过,这取决于供应商。