#include <Windows.h>
#include <Psapi.h>
#include <iostream>
#pragma comment(lib, "psapi.lib")
using namespace std;
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
if (GetParent(hwnd) == NULL && IsWindowVisible(hwnd))
{
char WindowText[100] = {0};
::GetWindowTextA(hwnd, WindowText, 100);
if (strlen(WindowText) != 0)
{
std::cout << WindowText <<std::endl;
char szClassName[100] = {0};
::GetClassNameA(hwnd, szClassName, 100);
cout<< szClassName <<endl;
DWORD dwPID = 0;
GetWindowThreadProcessId(hwnd, &dwPID);
cout<< "PID: "<<dwPID <<endl;
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID);
cout<< "PHandle: "<<hProcess<< endl;
HMODULE hMod = NULL;
DWORD dwcbNeeded = 0;
if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &dwcbNeeded)
枚举桌面窗口并获取进程信息
最新推荐文章于 2017-03-12 18:46:24 发布
本文介绍如何枚举桌面窗口,并通过GetModuleFileNameA和GetModuleFileNameExA两个API来获取进程的模块路径,包括本进程及OpenProcess打开的进程句柄的路径。
摘要由CSDN通过智能技术生成