从进程名称获取进程ID

你好
我正在尝试使用C语言的Windows API做一个项目.我项目中的一小部分是获取lsass.exe的进程ID.

我试过下面的程序,但它不会工作.
我读过有关CreateToolhelp32Snapshot,Process32First,Process32Next函数的任何人都可以帮我解释如何在代码中使用它们.

所以请帮助我.
我是Windows API的初学者,所以如果有人能建议我推荐一本好的电子书,我会很感激.

最佳答案
由于可能有多个进程名称实例在运行,因此进程的映像名称和PID之间没有一对一的关联.您必须使用EnumProcesses枚举进程并检查每个进程的基本模块名称,如Burgos所述.

FWIW,.Net通过提供GetProcessesByName API来解决此问题,该API返回一组过程对象.当然没什么用的:-(

转载注明原文:从进程名称获取进程ID - 代码日志