Windows进程&线程
+ -

进程枚举和进程加载的模块枚举

2023-11-07 9 0
原文转自:https://www.cnblogs.com/M-Anonymous/p/9710921.html

#include<windows.h>
#include<stdio.h>
#include<tlhelp32.h>

BOOL GetProcessList();

int main(void)
{
    GetProcessList();
    return 0;
}

BOOL GetProcessList()
{
    HANDLE hProcessSnap;
    HANDLE hModuleSnap;
    BOOL bRet = FALSE;
    BOOL bModule = FALSE;
    PROCESSENTRY32 pe32 = {0};
    MODULEENTRY32 me32 = {0};
    pe32.dwSize = sizeof(PROCESSENTRY32);
    me32.dwSize = sizeof(MODULEENTRY32);
    hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    bRet = Process32First(hProcessSnap,&pe32);

    while(bRet)
    {
        printf("%s\n",pe32.szExeFile);
        hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pe32.th32ProcessID);
        bModule = Module32First(hModuleSnap,&me32);
        while(bModule)
        {
            printf("\t%s\n",me32.szExePath);
            bModule = Module32Next(hModuleSnap,&me32);
        }
        bRet = Process32Next(hProcessSnap,&pe32);
    }
    CloseHandle(hProcessSnap);
    CloseHandle(hModuleSnap);
    return TRUE;
}

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!