用ToolHelp32回枚举一个进程的线程,为什么不是在进程中查找,而是要反向匹配
用ToolHelp32来枚举一个进程的线程,为什么不是在进程中查找,而是要反向匹配?
在系统当中,进程号和线程号都是唯一的,对吧。
但是msdn的枚举某个进程的所有线程的例子,让我看不懂了。
(1)它先是找到了进程的进程id
(2)然后枚举windows系统当中的所有线程,然后根据线程信息当中,进程id的部分匹配,看哪些线程属于这个进程。
我感觉这样做有点绕了,难道不能根据一个进程的id或者句柄,直接枚举其所有的线程吗?
还有就是,ToolHelp32枚举出来的线程,符合条件的第一个线程一定是主线程吗?(也就是进程id匹配)换句话说,我如何才能确保找到的是主线程呢?
谢谢。
------解决思路----------------------
vc,windbg也可能是这么做的
------解决思路----------------------
Q:ToolHelp32枚举出来的线程,符合条件的第一个线程一定是主线程吗?(也就是进程id匹配)换句话说,我如何才能确保找到的是主线程呢?
A:线程无所谓主线程一说,每个线程是平等的。并且, 也没有主线程id和进程id匹配一说,各自独立。
在系统当中,进程号和线程号都是唯一的,对吧。
但是msdn的枚举某个进程的所有线程的例子,让我看不懂了。
(1)它先是找到了进程的进程id
(2)然后枚举windows系统当中的所有线程,然后根据线程信息当中,进程id的部分匹配,看哪些线程属于这个进程。
我感觉这样做有点绕了,难道不能根据一个进程的id或者句柄,直接枚举其所有的线程吗?
还有就是,ToolHelp32枚举出来的线程,符合条件的第一个线程一定是主线程吗?(也就是进程id匹配)换句话说,我如何才能确保找到的是主线程呢?
谢谢。
------解决思路----------------------
vc,windbg也可能是这么做的
------解决思路----------------------
Q:ToolHelp32枚举出来的线程,符合条件的第一个线程一定是主线程吗?(也就是进程id匹配)换句话说,我如何才能确保找到的是主线程呢?
A:线程无所谓主线程一说,每个线程是平等的。并且, 也没有主线程id和进程id匹配一说,各自独立。