windows下使用CreateToolhelp32Snapshot
时间: 2024-02-02 20:02:56 浏览: 25
在Windows下使用CreateToolhelp32Snapshot需要包含Windows.h头文件,并链接kernel32.lib库。以下是使用CreateToolhelp32Snapshot获取系统进程信息的示例代码:
```c++
#include <Windows.h>
#include <TlHelp32.h>
#include <iostream>
int main() {
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshot == INVALID_HANDLE_VALUE) {
std::cerr << "Failed to create snapshot.\n";
return 1;
}
PROCESSENTRY32 processEntry;
processEntry.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hSnapshot, &processEntry)) {
std::cerr << "Failed to get first process.\n";
CloseHandle(hSnapshot);
return 1;
}
std::cout << "PID\tName\n";
do {
std::cout << processEntry.th32ProcessID << "\t" << processEntry.szExeFile << "\n";
} while (Process32Next(hSnapshot, &processEntry));
CloseHandle(hSnapshot);
return 0;
}
```
以上代码可以获取系统中所有进程的PID和进程名称,并输出到控制台。需要注意的是,使用CreateToolhelp32Snapshot需要管理员权限。