Страницы

Поиск по вопросам

суббота, 15 июня 2019 г.

Узнать имя процесса, которому принадлежит активное окно

Как я делаю беру хендл активного окна функцией GetForegroundWindow(), надо по этому хендлу узнать имя процесса при помощи WinAPI.
Как это можно сделать?


Ответ

Можно просто и коротко:
#include #include #include
int main() { Sleep(1000); // Чтобы успеть переключиться в другое окошко :)
DWORD pid; GetWindowThreadProcessId(GetForegroundWindow(),&pid); HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid); char name[256]; if (GetProcessImageFileName(hProc,name,256)) std::cout << name << std::endl; CloseHandle(hProc); }
#pragma comment(lib,"user32")

Комментариев нет:

Отправить комментарий