Windows C语言内核获取进程进程参数
时间: 2023-11-12 22:05:34 浏览: 177
C# 获取进程的信息
4星 · 用户满意度95%
在Windows内核中获取进程参数可以使用PsGetProcessWow64Process和PsLookupProcessByProcessId函数来实现。
首先,使用PsLookupProcessByProcessId函数获取进程句柄,例如:
```
PEPROCESS process;
if (NT_SUCCESS(PsLookupProcessByProcessId(ProcessId, &process)))
{
// 进程句柄获取成功,可以进行后续操作
}
```
然后,使用PsGetProcessWow64Process函数获取进程参数,例如:
```
PVOID processParams = PsGetProcessWow64Process(process);
```
其中,processParams指针指向了进程参数的起始地址。可以根据具体需要,进一步解析这些参数。
需要注意的是,PsGetProcessWow64Process只对32位进程有效。对于64位进程,可以使用PsGetProcessPeb函数获取进程环境块(PEB),然后从PEB中获取进程参数。
阅读全文