原文链接:https://zhidao.baidu.com/question/93050956.html
#include <tlhelp32.h>
int GetProcessThreadList(DWORD th32ProcessID) //进程bai的duID
{
HANDLE hThreadSnap;
THREADENTRY32 th32;
hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, th32ProcessID);
if (hThreadSnap == INVALID_HANDLE_VALUE)
{
return 1;
}
th32.dwSize = sizeof(THREADENTRY32);
if (!zhiThread32First(hThreadSnap, &th32))
{
CloseHandle(hThreadSnap);
return 1;
}
do
{
if (th32.th32OwnerProcessID == th32ProcessID)
{
printf("ThreadID: %ld\n", th32.th32ThreadID); //显示找到的线dao程的ID
}
} while (Thread32Next(hThreadSnap, &th32));
CloseHandle(hThreadSnap);
return 0;
}
本文介绍了一个使用C语言实现的函数,该函数通过输入进程ID,遍历并打印出该进程下所有线程的ID。利用Windows API函数CreateToolhelp32Snapshot、Thread32First和Thread32Next,实现了对指定进程所有线程的获取。
4652

被折叠的 条评论
为什么被折叠?



