我想确定本机程序集是否从托管代码应用程序(C#)编译为x64或x86 .
我认为它必须在PE头中的某处,因为OS加载器需要知道这些信息,但我找不到它.当然我更喜欢在托管代码中执行它,但如果有必要,我可以使用本机C++.
我需要使用为x86,x64和IA64制作的Windows可执行文件.我想通过检查文件本身以编程方式找出平台.
我的目标语言是PowerShell,但C#示例可以.如果您知道所需的逻辑很好,那么其中任何一个都会失败.
我正在寻找Windows cmd中的命令告诉我某个dll文件是32位还是64位
在Windows中有这样的东西吗?
使用Perl,如何确定我的程序是在32位Windows还是64位Windows上运行?
有没有可用的API?
我可以想到几个选择..
检查一些Windows文件的PE_HEADER(例如:) c:\windows\explorer.exe- 也许我可以使用详细信息如何测试windows dll以确定它是32位还是64位?
检查是否存在c:\program files(x86)- 如果存在则则为64位操作系统.否则它是一个32位Windows操作系统.
这样做有什么好办法吗?Perl中可用的任何API?
给定Windows进程句柄,如何使用C++代码确定进程是32位还是64位?
我们的应用程序中有一个项目,它构建在32位或64位版本的dll中,具体取决于它所基于的机器上的处理器体系结构,以便于测试.
我可以预测将在给定机器上使用的dll,但是我们有几个开发人员,一些使用64位机器,一些使用32位机器,我希望能够检查他们放到实时服务器的构建是否已经上升使用32位版本的dll或64位版本的dll.
检查dll的属性不会提供此类信息.有没有办法得到它?
谢谢
可以确定GetBinaryType()文件.exe是 32 位还是 64 位,但如何对.dll文件执行此操作?我想在尝试使用 .DLL 加载它之前确保 DLL 是正确的体系结构LoadLibrary()。
winapi ×3
windows ×3
.net ×2
32bit-64bit ×2
64-bit ×2
c# ×2
c++ ×2
assemblies ×1
cmd ×1
dll ×1
perl ×1
powershell ×1
x86-64 ×1