我正在Windows过滤平台中开发驱动程序,我需要另一个进程的进程ID来完成我需要做的事情。我只知道该进程的文件名(name.exe)。WDK:通过name.exe获取processId
在win32中,我可以使用函数CreateToolhelp32Snapshot来获取所有进程的列表,我可以在那里搜索PID。 (http://msdn.microsoft.com/en-us/library/ms684834(VS.85).aspx)
不幸的是在内核模式下这个东西不可用。任何人都知道如何通过内核空间获得只知道二进制名称的processID?
感谢您的回复! 根据MSDN:“PsSetCreateProcessNotifyRoutineEx例程注册或删除一个回调例程,该例程在创建或退出进程时通知调用方。” 所以很不幸,它似乎并不是我所需要的。 我需要知道已经运行的进程,因为我的驱动程序在应用程序启动后加载。 – Marco 2010-08-08 01:26:33
@Marco,欢迎您。是的,这是我想知道的“取决于时间...”对不起,这对你不起作用... 如果我没记错,PEB有一个双链表在某处,并从那您可以访问系统上的所有PEB。 – 2010-08-08 02:18:10