|
.版本 2
.子程序 枚举线程, 整数型, , 返回线程总数.
.参数 进程标识, 整数型, 可空
.参数 线程列表, 线程信息, 参考 数组
.局部变量 线程信息, 线程信息
.局部变量 hSnapshot, 整数型
.局部变量 lpte, LPTHREADENTRY32
置入代码 (#VM开始)
hSnapshot = CreateToolhelp32Snapshot (#TH32CS_SNAPTHREAD, 0)
.如果真 (hSnapshot ≠ #INVALID_HANDLE_VALUE)
lpte.dwSize = 28
.如果真 (Thread32First (hSnapshot, lpte))
清除数组 (线程列表)
.循环判断首 ()
.如果 (进程标识 = 0)
加入成员 (线程列表, 取线程信息 (lpte.th32ThreadID))
.否则
.如果真 (lpte.th32OwnerProcessID = 进程标识)
加入成员 (线程列表, 取线程信息 (lpte.th32ThreadID))
.如果真结束
.如果结束
.循环判断尾 (Thread32Next (hSnapshot, lpte))
.如果真结束
CloseHandle (hSnapshot)
.如果真结束
返回 (取数组成员数 (线程列表))
置入代码 (#VM结束)
|
|