c - 如何在 Windows 上检测进程的体系结构?

标签 c windows 64-bit

<分区>

Possible Duplicate:
How to know a process is 32-bit or 64-bit programmatically

我正在编写一个将 dll 注入(inject)其他应用程序的应用程序。为了使其正常工作,我需要知道其他应用程序是在 32 位还是 64 位模式下运行。有什么方法可以在不尝试解析应用程序的 PE header 的情况下检测到这一点?

请不要建议IsWow64Process .这不符合我的要求,特别是这一点使它变得无用:

If the process is a 64-bit application running under 64-bit Windows, the value is also set to FALSE.

最佳答案

试试这个页面的代码,如果你想在 C# 中使用它,它需要一个 int 的大小来检查。

How to determine programmatically whether a particular process is 32-bit or 64-bit

或者在 C++ 中可能是这样。

How can I dynamically get the system architecture?

关于c - 如何在 Windows 上检测进程的体系结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160757/

相关文章:

windows - 无法找到基于Windows的OpenSSL依赖关系构建

delphi - 枚举集大小(x64)

c# - 访问 COM 时,如何在 x86 和 x64 下编写安全的 C# 代码?典型的陷阱?

c - ATmega 芯片上的安全 "task switching"

c - 如何将一个字符串中的单个字符分配给C中的另一个字符串?

c - 如何删除一个元素来对数组进行排序

c# - 如何让主窗口等到新打开的窗口在 C# WPF 中关闭?

windows - 如何使用 VBScript 在已打开的 CMD 窗口中执行命令

java - 如何使用命令提示符在两个 jar 文件之间创建管道?

c - 使用 fgets 和 sscanf 从 csv 文件读取时出现 EXC_BAD_ACCESS