@v0lume

WinApi как определить нужное окно для хука?

Приветствую!
В общем, пишу кейлогер (WinApi). Задача - логировать нажатые клавиши из всех, или конкретно заданных окон.
Есть два ListView (окна, на которых хук должен отработать, и окна, на которых не должен).

Получил список всех окон
EnumDesktopWindows(NULL, (WNDENUMPROC) EnumWndProc, NULL);

в EnumWndProc - функция, которая заполняет ListView1 (пока что заполняется тайтл и hwnd)

Допустим, в длл я передам как-то список всех окон, которые должны/не должны логироваться.
А как мне в самой длл определить, текущий процесс - нужный мне или нет?
  • Вопрос задан
  • 2810 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Getman_s
Разработчик с опытом более 30 лет
Можно по HWND с помощью функции GetWindowThreadProcessId определить id процесса которому принадлежит нужное вам окно и сравнить с id текущего процесса в DLL, который можно определить с помощью функции GetCurrentProcessId.
Ответ написан
SHVV
@SHVV
Если вы передаёте HWND окна, то процесс проверять нет смысла, так как идентификаторы окон уникальны для всей сессии.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы