进程列表

谁借莪1个温暖的怀抱¢ 2022-09-19 13:29 251阅读 0赞

进程列表

作者:Ackarlix

代码:

#include “stdafx.h”
#include
#include
#include

int main(int argc, char* argv[])
{

ofstream outfile(“ProcessList.txt”);
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);

HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{

outfile << “CreateToolhelp32Snapshot调用失败!” << endl;
return -1;
}

BOOL bMore = ::Process32First(hProcessSnap, &pe32);

while (bMore)
{
outfile << “进程名称: “ << pe32.szExeFile << endl;
outfile << “进程ID号: “ << pe32.th32ProcessID << endl;
outfile << “进程引用数: “ << pe32.cntUsage << endl;
outfile << “进程默认堆ID号: “ << pe32.th32DefaultHeapID << endl;
outfile << “进程模块ID号: “ << pe32.th32ModuleID << endl;
outfile << “进程的线程数: “ << pe32.cntThreads << endl;
outfile << “进程的父进程ID: “ << pe32.th32ParentProcessID << endl;
outfile << endl;
bMore = ::Process32Next(hProcessSnap, &pe32);
}

::CloseHandle(hProcessSnap);

STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
char * szCommandLine = “notepad ProcessList.txt”;
::CreateProcess(NULL, szCommandLine, NULL, NULL, FALSE, NULL, NULL, NULL, &si, &pi);

::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);

return 0;
}

发表评论

表情:
评论列表 (有 0 条评论,251人围观)

还没有评论,来说两句吧...

相关阅读

    相关 枚举PEB获取进程模块列表

    枚举进程模块的方法有很多种,常见的有枚举PEB和内存搜索法,今天,先来看看实现起来最简单的枚举PEB实现获取进程模块列表。 首先,惯例是各种繁琐的结构体定义。需要包