我的C#应用程序如何检查特定的应用程序/进程(注意:当前进程)是否在32位或64位模式下运行?
例如,我可能想要按名称查询特定进程,即'abc.exe',或者根据进程ID号查询.
如何判断我的应用程序(在Visual Studio 2008中作为任何CPU编译)是作为32位还是64位应用程序运行?
是否可以使用相同字节的机器代码来确定它们是以32位还是64位模式运行,然后执行不同的操作?
即写多语言机器代码.
通常,您可以在构建时使用#ifdef宏检测.或者在C中,您可以编写一个if()以编译时常量作为条件,并让编译器优化它的另一面.
这仅适用于奇怪的情况,例如代码注入,或只是为了查看是否可能.
另请参见:多语言ARM/x86机器代码,用于分支到不同的地址,具体取决于解码字节的架构.