zoukankan      html  css  js  c++  java
  • 枚举进程,线程,堆 CreateToolhelp32Snapshot

    Takes a snapshot of the processes and the heaps, modules, and threads used by the processes.
    对当前系统进行一个快照。
    函数定义:
    HANDLE WINAPI CreateToolhelp32Snapshot
                                                                              DWORD dwFlags,      
                                                                              DWORD th32ProcessID 
                                                                             );
    参数说明:
    dwFlags:要枚举的类型,一般取值如下:
                                                                 TH32CS_SNAPPROCESS 枚举进程
                                                                 TH32CS_SNAPMODULE  枚举进程中的dll
                                                                 TH32SNAPTHREAD  枚举进程中的线程
    th32ProcessID:当枚举进程时此参数被忽略,可以为0,其他情况表示进程的ID发你会

    返回值:
    成功返回一个有效的句柄,失败返回INVALID_HANDLE_VALUE,CloseHandle关掉打开的句柄

    举例说明:
    下面写一个程序:对当前系统进行快照,然后输出进程ID ,进程名,进程的父进程ID。
    进行快照后要用到 Process32First  Process32Next 函数交替枚举信息

        int main()
    {
    HANDLE hTLSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (INVALID_HANDLE_VALUE == hTLSnapshot)
    {
    return 0;
    }

    PROCESSENTRY32 pe = {0};
    pe.dwSize = sizeof(PROCESSENTRY32);

    BOOL bRet = Process32First(hTLSnapshot, &pe);
    //int nErr = GetLastError();
    if (!bRet)
    {
    CloseHandle(hTLSnapshot);
    return 0;
    }

    do
    {
    WCHAR szExeFile[MAX_PATH] = { 0 };
    wcscpy_s(szExeFile, MAX_PATH, pe.szExeFile);
    DWORD dwParentId = pe.th32ParentProcessID;
    DWORD dwProcessId = pe.th32ProcessID;

    WCHAR szShow[0x270] = { 0 };
    wsprintf(szShow, L"%s %d %d ", szExeFile, dwParentId, dwProcessId);
    wprintf(L"%s ", szShow);

    } while (Process32Next(hTLSnapshot, &pe));

    CloseHandle(hTLSnapshot);
    return 0;
    }
  • 相关阅读:
    [POJ3635]Full Tank? 题解
    洪水题解
    [HNOI2009]最小圈 题解
    Grazing on the Run 题解
    [BZOJ4237]稻草人 题解
    [POJ3783]Balls 题解
    [POI2005]Bank notes 题解
    字符串题解
    pyinstaller利用spec文件打包的使用模板
    Pycharm2020 永久激活
  • 原文地址:https://www.cnblogs.com/priarieNew/p/9753409.html
Copyright © 2011-2022 走看看