社区
进程/线程/DLL
帖子详情
关于Thread32First函数的疑问
Jofangkm
2009-01-16 02:50:24
我用CreateToolhelp32Snapshot函数创建一个线程快照,
然后用Thread32First枚举线程,对每一个枚举到的线程进行判断,
判断它是不是属于某个特定进程。我想知道的事如果有一组线程都属于
某个特定的进程,那么我第一个枚举到的是不是该进程的主线程呢?
有哪位大侠能详解下吗?
...全文
555
8
打赏
收藏
关于Thread32First函数的疑问
我用CreateToolhelp32Snapshot函数创建一个线程快照, 然后用Thread32First枚举线程,对每一个枚举到的线程进行判断, 判断它是不是属于某个特定进程。我想知道的事如果有一组线程都属于 某个特定的进程,那么我第一个枚举到的是不是该进程的主线程呢? 有哪位大侠能详解下吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwwhhb4001
2009-01-22
打赏
举报
回复
学习
shoooo
2009-01-20
打赏
举报
回复
只要主线程还活着,时间最早的是主线程
看看ZwQueryInformationThread有没有查时间的
arong1234
2009-01-19
打赏
举报
回复
不过为什么一定要获得主线程?觉得楼主不是先要找到答案,而是要先确定是否有必要知道这个答案
arong1234
2009-01-19
打赏
举报
回复
你这里是枚举线程,好像没有涉及“主”线程哦!
我觉得可以通过获得父线程id建立一个线程树,树的根就是主线程
[Quote=引用 4 楼 oyljerry 的回复:]
知道了进程ID如何获得主线程ID
------------------------------
1.OpenProcess 取得 process handle
2.CreateToolhelp32Snapshot 得到一个snapshot
3.然后调 Thread32First,Thread32Next 取线程。
MSDN 有个例子:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/taking_a_snapshot_and_viewing_processes.asp
http://community.csdn.net/E…
[/Quote]
oyljerry
2009-01-19
打赏
举报
回复
知道了进程ID如何获得主线程ID
------------------------------
1.OpenProcess 取得 process handle
2.CreateToolhelp32Snapshot 得到一个snapshot
3.然后调 Thread32First,Thread32Next 取线程。
MSDN 有个例子:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/taking_a_snapshot_and_viewing_processes.asp
http://community.csdn.net/Expert/topic/3562/3562360.xml?temp=7.851809E-02
arong1234
2009-01-19
打赏
举报
回复
我觉得不能想当然,这要看Thread32First的实现,好像没有文档说它按照创建先后来枚举
[Quote=引用 1 楼 Holly 的回复:]
作为进程首个被创建的线程,其句柄在句柄表中自然会出现在首位,正常情况下这个是肯定的!
枚举到的第一个应当是主线程。
[/Quote]
sys0008
2009-01-19
打赏
举报
回复
这个不好确定,其实主线程和其他线程没有本质的区别
Holly
2009-01-19
打赏
举报
回复
作为进程首个被创建的线程,其句柄在句柄表中自然会出现在首位,正常情况下这个是肯定的!
枚举到的第一个应当是主线程。
std::
thread
的三种
函数
调用表示方法
主要解决
thread
调用
函数
时,对参数类型的要求,解决一些细节错误
RT-
thread
main
函数
分析
RT-
thread
系统的main
函数
位于startup.c文件中。 /** * This function will startup RT-
Thread
RTOS. */ void rt
thread
_startup(void) { /* init board */ rt_hw_board_init();//NVIC_config, SysTick_config, se
you're probably running inside a
thread
without first calling pythoncom.CoInitialize
you're probably running inside a
thread
without first calling pythoncom.CoInitialize 后来在网上搜索,看到必须添加初始化
函数
和去初始化
函数
import pythoncom import wmi pythoncom.CoInitialize () c = wmi.WMI () #...
CreateToolhelp
32
Snapshot
函数
DELPHI - CreateToolhelp
32
Snapshot
函数
一、
函数
介绍 在Windows系统中动态链接库kernel
32
.dll提供了获取和处理系统进程的许多接口
函数
,Delphi语言把这些
函数
接口封装到Tlhelp
32
.pas中,供Delphi用户开发过程调用
C++11 std::
thread
在类的成员
函数
中的使用
#include <
thread
> #include <iostream> class Wrapper { public: void member1() { std::cout << "i am member1" << std::endl; } void member2(const cha...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章