C++ Windows - 通过可执行文件路径获取进程的 PID

C++ Windows - Get PIDs of process by executable file path

众所周知并且经常被问及如何从 PID 获取可执行文件的完整路径。但是,我需要相反的东西:我需要从绝对路径到它的可执行文件找到进程的 PID。

有没有一种简单的方法可以做到这一点,或者我应该获取所有 PID 并手动比较可执行文件路径?

我为什么需要它?我需要终止这个进程的垃圾实例而不杀死与我应该终止的进程同名的其他进程。

没有直接 API 调用来获取绝对路径的进程 ID。正如您推测的那样,您必须枚举所有进程,直到找到您感兴趣的路径,然后您将拥有它的进程 ID。查看 MSDN 上的 EnumProcesses() or CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS) for that. See Process Enumeration 示例。