C++封装一个函数可以在windows环境中获取进程信息列表
时间: 2024-01-22 17:19:07 浏览: 117
在Windows环境中获取进程信息列表可以使用Windows API函数,以下是一个封装的C++函数:
```c++
#include <iostream>
#include <windows.h>
#include <tlhelp32.h>
void getProcessList()
{
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
// 获取进程列表快照
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
std::cerr << "CreateToolhelp32Snapshot failed!" << std::endl;
return;
}
// 设置pe32结构体的大小
pe32.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hProcessSnap, &pe32))
{
std::cerr << "Process32First failed!" << std::endl;
CloseHandle(hProcessSnap);
return;
}
std::cout << "Process list:" << std::endl;
do
{
std::cout << pe32.szExeFile << std::endl;
} while (Process32Next(hProcessSnap, &pe32));
CloseHandle(hProcessSnap);
}
```
使用方法:
```c++
int main()
{
getProcessList();
return 0;
}
```
该函数使用了Windows API中的`CreateToolhelp32Snapshot`和`Process32First`、`Process32Next`函数,可以获取系统中所有进程的信息,并输出进程名。
阅读全文