YLLEN

要去看埃菲尔铁塔的顶

欢迎关注本人微博:t.cn/RGSLVUk

[ Tools ] 进程枚举

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <TlHelp32.h>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
    HANDLE  hSnapshot;
    int count = 0;
    hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);  //创建快照
    if (INVALID_HANDLE_VALUE == hSnapshot)
    {
        printf("CreateToolhelp32Snapshot调用失败。");
        return 1;
    }

    PROCESSENTRY32 process;
    process.dwSize = sizeof(PROCESSENTRY32);   //注意 必不可少
    BOOL havanext = ::Process32First(hSnapshot, &process);
    printf("进程名:\t\t进程ID\n");

    while (havanext)     //循环 列出进程信息
    {
        ++count;
        printf("%s\t\t%u\n", process.szExeFile, process.th32ProcessID);
        havanext = ::Process32Next(hSnapshot, &process);
    }
    printf("进程总数为%d\n", count);


    ::CloseHandle(hSnapshot);
    return EXIT_SUCCESS;
}


评论

© YLLEN | Powered by LOFTER