Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 13:57   #1
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию Вопрос по хукам

Здравствуйте, уважаемые!
Вопрос такой: пишу некое подобие кейлоггера, нужно отследить, какому процессу идёт мессага перехватываемая... как это сделать?
Заранее благодарен!
PS: хук на WH_KEYBOARD, из библиотеки

Так-с... принцип как передать я понял:
из библиотеки мессагу посылаю таким макаром:
Код:
SendMessage(ServerWnd, WM_KEYEVENT, GetCurrentProcessID, LParam);
первый параметр - ID процесса, в который библиотека внедрилась,
второй - код клавиши...

в программе своей пытаюсь выделить, какой именно процесс должен получить сие нажатие:

Код:
                Wnd := GetWindow(Handle, gw_HWndFirst);
                while Wnd <> 0 do begin
                  GetWindowThreadProcessId(Wnd,tempID);
                  if wParam=tempID  then begin
                    GetWindowText(Wnd, buff, sizeof(buff));
                    {Действия с буфером}
                  end;
                  Wnd := GetWindow(Wnd, gw_hWndNext);
                end;
Но что-то я не так делаю - не могу получить текст окна... подскажите пожалста ошибку...

PS: кстати заодно подскажите, как получить имя .exe файла по ID процесса (желательно на этом же примере, плохо ещё пока по API ориентируюсь)
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось mihali4; 07.11.2009 в 17:51.
Johnson вне форума Ответить с цитированием
Старый 08.11.2009, 16:51   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

какому процессу принадлежит окно определяешь правильно, через функцию GetWindowThreadProcessID. А как получить имя через PID обсуждалось 1000 раз, поиск тебе поможет. Вот самый лучшый пример, если нужно проще, то в поиск.
А по поводу получения текста окна, что за переменная buff? приведи её объявление.

Последний раз редактировалось rpy3uH; 08.11.2009 в 17:05.
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (как бы) по БОТАМ & нет Хукам! BaronTreep Win Api 7 06.06.2009 05:46
Вопрос по хукам внутри прораммы Leloush Win Api 2 31.01.2009 19:05
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10