通过进程名获取进程id
2017-10-28 14:25
351 查看
BOOL GetProcessInfo(wchar_t *szProcessName,ULONG * ProcessId) { NTSTATUS status; ULONG RetLen; BOOL bIsSuccess = FALSE; PVOID ProcessInfo; SYSTEM_PROCESS_INFORMATION* p; if (ProcessId == NULL || szProcessName == NULL) { return FALSE; } status = ZwQuerySystemInformation(SystemProcessInformation,0,0,&RetLen); if (status != STATUS_INFO_LENGTH_MISMATCH) { return bIsSuccess; } ProcessInfo = malloc(RetLen); if (ProcessInfo == NULL) { return bIsSuccess; } status = ZwQuerySystemInformation(SystemProcessInformation,ProcessInfo,RetLen,&RetLen); if (!NT_SUCCESS(status)) { free(ProcessInfo); return bIsSuccess; } p = (SYSTEM_PROCESS_INFORMATION*)ProcessInfo; while(p->NextEntryOffset) { if (szProcessName != NULL && p->ImageName.Length >= wcslen(szProcessName) && wcscmp(p->ImageName.Buffer,szProcessName) == 0) { bIsSuccess = TRUE; *ProcessId = (ULONG)p->ProcessId; break; } p = (SYSTEM_PROCESS_INFORMATION*)((ULONG)p + p->NextEntryOffset); } free(ProcessInfo); return bIsSuccess; }
相关文章推荐
- 通过进程名获取进程ID
- 如何通过进程ID获取进程名
- [linux基础] 通过进程id获取运行程序的程序名称
- 通过进程ID获取进程名
- 通过Docker进程pid获取容器id 推荐
- 通过进程id获取窗口句柄
- 通过进程名或进程ID获取进程句柄,窗口句柄
- 通过进程ID获取最顶层窗口句柄
- 通过进程ID获取进程名
- 通过进程名称获取进程ID、通过子进程ID获取其父进程ID及通过进程ID获取进程名称
- 通过进程Id获取窗口句柄
- 如何通过进程名获取进程ID
- 通过Windows进程ID获取窗口句柄
- 通过进程ID获取基地址
- 通过进程名获取进程ID
- VC++ 通过进程名或进程ID获取进程句柄
- VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷
- 进程管理:通过父进程ID获取子进程ID
- WIN通过子进程获取父进程ID
- linux通过进程名获取进程id