windows evplayer 如何检测系统中正在运行的进程
时间: 2023-05-13 09:04:32 浏览: 55
Windows EvPlayer 可以使用 Windows API 中的 EnumProcesses 函数来获取系统中正在运行的进程列表。具体实现可以参考以下代码:
```c++
#include <windows.h>
#include <tlhelp32.h>
void ListProcesses()
{
DWORD aProcesses[1024], cbNeeded, cProcesses;
if (!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
return;
cProcesses = cbNeeded / sizeof(DWORD);
for (DWORD i = 0; i < cProcesses; i++)
{
if (aProcesses[i] != 0)
{
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, aProcesses[i]);
if (hProcess != NULL)
{
TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
HMODULE hMod;
DWORD cbNeeded;
if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
{
GetModuleBaseName(hProcess, hMod, szProcessName, sizeof(szProcessName) / sizeof(TCHAR));
}
_tprintf(TEXT("%s (PID: %u)\n"), szProcessName, aProcesses[i]);
CloseHandle(hProcess);
}
}
}
}
```
这段代码可以列出系统中所有正在运行的进程及其进程 ID。