从进程导航到它的父进程

时间:2009-03-24 14:48:17

标签: c++ winapi process

我坚持使用IE8的进程模型,其中我的MFC嵌入式窗口的 GetWindowThreadProcessId()将给我一个子IE PID,作为 GetWindowThreadProcessId()对于我的容器页面将给我根IE PID。

这很糟糕,因为我想在枚举窗口的同时过滤我的容器。

所以我正在寻找一种方法来获取给定进程的 parent 的PID,以便从我的MFC应用程序获得根IE PID。

Sysinternals'ProcessExplorer知道如何做到这一点,在树视图中显示进程,所以我确信有办法实现这一点。

2 个答案:

答案 0 :(得分:1)

您有seen this codeproject article还是this codeguru article

我认为更好的方法是在codeguru文章中。

基本上,您需要PROCESS_BASIC_INFORMATION的“ULONG InheritedFromUniqueProcessId”成员。请参阅NtQueryInformationProcessthis page

答案 1 :(得分:0)

使用ToolHelp32函数http://support.microsoft.com/kb/192986并将它们排序为树。

但是如果你有嵌入窗口,也许你的代码在IE进程中?你使用什么类型的嵌入,ocx或dll?