如何确定Windows上的应用程序是64位还是32位?

这无疑是一个重复的问题,但我的search技巧已经失败了。

如何确定Windows上的应用程序是64位还是32位

理想情况下,我希望能够在64位Windows XP和64位Windows 7上执行此操作。

谢谢!

编辑:感谢您的答复。 有没有办法,当应用程序没有运行,我可以做到这一点? 例如,在Linux上我们有“readelf” – 一个命令行util来检查二进制文件。 Windows上是否有类似的工具?

在x64平台上,在Windows任务pipe理器中,32位应用程序将在其名称后附加“* 32”。 所以:

firefox.exe * 32
devenv.exe * 32
中svchost.exe

意味着Firefox和Visual Studio都是32位应用程序,而Windows服务主机是64位应用程序。

在x86平台上,很容易:64位应用程序无法启动。


要回复您最后的编辑,我不认为有一个Windows附带的工具,它检测如果可执行文件是x64或x86。 也许第三方工具可以做到这一点(反编译器?资源提取?)。

如果你是开发者,你也可以考虑做一个这样的工具或者使用Visual Studio的corflags 。 查看StackOverflow上的答案以获取更多详细信息。

启动taskmanager并查看进程选项卡