// 在头部声明
NTKERNELAPI
UCHAR * PsGetProcessImageFileName(__in PEPROCESS Process);
PEPROCESS ep = NULL;
if (STATUS_SUCCESS == PsLookupProcessByProcessId(PsGetCurrentProcessId(), &ep))
{
char* name = PsGetProcessImageFileName(ep);
if (strcmp(name, "notepad.exe") == 0)
{
// do something ...
}
}
另外一种方法,获取进程所属文件全路径:
(同样需要先定义再使用)
NTSTATUS
PsReferenceProcessFilePointer(
IN PEPROCESS Process,
OUT PVOID *OutFileObject
);