C/C++Windows黑客编程系列——获取系统进程
获取系统进程
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
int main() {
// 获取系统进程快照
HANDLE processHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (processHandle == INVALID_HANDLE_VALUE) {
printf("获取系统进程快照错误\n");
return 0;
}
PROCESSENTRY32 processentry32;
processentry32.dwSize = sizeof(processentry32);
// 枚举快照的第一个进程
BOOL bProcess = Process32First(processHandle, &processentry32);
char buff[1024] = {0};
while (bProcess) {
sprintf(buff, "进程名称:%s 进程号:%lu\n", processentry32.szExeFile, processentry32.th32ProcessID);
printf("%s",buff);
memset(buff, 0x00, 1024);
bProcess = Process32Next(processHandle, &processentry32);
}
CloseHandle(processHandle);
}
输出:
进程名称:RuntimeBroker.exe 进程号:9060
进程名称:svchost.exe 进程号:12220
进程名称:gdb.exe 进程号:5028
进程名称:conhost.exe 进程号:14328
进程名称:gdborig.exe 进程号:6260
进程名称:win32.exe 进程号:3876
本作品采用《CC 协议》,转载必须注明作者和本文链接