TlHelp32枚举进程、线程、模块信息

通过tlhelp32提供的api,可以很容易的获取进程、模块、线程的快照信息。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的老河口网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

所涉及头文件:

tlhelp32.h

枚举进程Process信息:

        HANDLE hSnapshot;

PROCESSENTRY32 pe32 = { sizeof(PROCESSENTRY32) }; 

HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, dwPid);

if(hProcessSnap == INVALID_HANDLE_VALUE)

{

return -1; 

}

if(Process32First(hProcessSnap, &pe32)) 

do 

     printf("process id: %d\n", pe32.th42ProcessID);

while(Process32Next(hProcessSnap, &pe32));

}

CloseHandle(hProcessSnap);

枚举模块module信息:

MODULEENTRY32 Mod32;

Mod32.dwSize=sizeof(Mod32);

HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPid);

if( hSnap == INVALID_HANDLE_VALUE ) 

printf("无法打开该程序模块!"); 

CloseHandle(hSnap);

return;  

}

BOOL bModule = Module32First(hSnap,&Mod32);

while(bModule)

{

printf("module process id: %d \n", Mod32.th42ProcessID);

bModule=Module32Next(hSnap,&Mod32);

}

CloseHandle(hSnap);

枚举线程Thread信息:

THREADENTRY32 te32;

te32.dwSize=sizeof(te32);

HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);

if( hSnap == INVALID_HANDLE_VALUE ) 

printf("无法打开该程序模块!"); 

CloseHandle(hSnap);

return;  

}

BOOL bThread = Thread32First(hSnap,&te32);

while(bThread)

{

        printf("owner process id: %d \n", te32.th42OwnerProcessID);

        printf("thread id: %d \n", te32.th42ThreadID);

bThread = Thread32Next(hSnap,&te32);

}

CloseHandle(hSnap);

网站标题:TlHelp32枚举进程、线程、模块信息
当前路径:https://www.cdcxhl.com/article38/pecdsp.html

成都网站建设公司_创新互联,为您提供网站策划云服务器用户体验响应式网站软件开发ChatGPT

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司