如何查找任意进程是否在wow64下运行?

问题描述:

我需要一个工具来发现任意进程是否在x86或x64模式下运行在一台机器上。我需要基于进程ID从C++编程地执行此操作。如何查找任意进程是否在wow64下运行?

必须有一些方法来做到这一点(正如你可以从任务管理器中清楚地看到它一样)。有谁知道一个Windows API会告诉你,给定一个进程ID,应用程序是否在WOW64下运行?

另一种方法是根据进程标识找出正在运行的可执行文件名称/路径,并尝试从文件中读取PE标头。有没有人有一个代码片段可以实现这一点?

有一个WinAPI函数,IsWow64Process

+0

+1。请注意,您需要使用此功能的流程的句柄,因此您可能需要管理员权限,因此您需要拥有SE_DEBUG_NAME权限。 – 2010-06-02 23:46:05