Substitute of EnumProcessModulesEx?

Substitute of EnumProcessModulesEx?

本文关键字:EnumProcessModulesEx of Substitute      更新时间:2023-10-16

我试图迭代当前在64位机器上运行的进程,EnumProcessModules与32位程序一起工作很好,但与64位程序没有任何好处,我尝试用devc++实现EnumProcessModulesEx,我正在使用(没有visualstudio),但无法使头文件工作,看到这个问题,所以在想是否有另一种出路?

在我的程序中,我需要知道由特定exe执行的进程是否正在运行,该进程可以是32位或64位,因此需要检查两者。

EnumProcessModules确实要求调用进程使用与目标进程相同的体系结构(32位vs. 64位)。但是,对于您的用例,您不需要该函数。

创建当前进程表的快照,然后迭代该快照,查找进程名,这样更有效(并且不会受到竞争条件的影响…):

  1. 调用CreateToolhelp32Snapshot创建进程表的快照

  2. 使用Process32FirstProcess32Next迭代快照

  3. 对于快照中的每个元素,检查szExeFile字段(PROCESSENTRY32结构的)以获得可执行文件名。

您可能希望对名称进行不区分大小写的比较,因为Windows上的文件名是不区分大小写的。

相关文章:
  • 没有找到相关文章