![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение нажатых клавиш [D7]
ZLOFENIX © (2006-08-21 07:45:00)Как получить нажатые клавиши, например в блокноте,
А НЕ ВО ВСЕ СИСТЕМЕ, и без длл !
ANB (2006-08-23 10:05:00) [1]
> ZLOFENIX © (23.08.06 02:54) [7]
Узнать хендл окна блокнота, поставить хук WH_GETMESSAGE (DLL писать придется), в функцию-фильтр хука будет приезжать хендл окна, которому адресовалось сообщение. И обычное сравнение if (Handle = NoteHandle) then begin . . . :)
ZLOFENIX (2006-08-23 02:54:00) [2]А как узнать что клавиша нажата именно в блокноте ?
ANB (2006-08-22 18:17:00) [3]
> GetForegroundWindow(),
Неаккуратно эта штука работает. Я пробовал уже. Если много щелкать, то промахивается. Лучше WH_GETMESSAGE. Правда DLL понадобится.
Сергей М. (2006-08-22 14:59:00) [4]
> ANB © (22.08.06 14:54) [4]
GetForegroundWindow(), естественно)
Дальше с пом. GetWindowThreadProcessId получаем ID процесса, ну а имея оной узнать имя соответствующего ЕХЕ-файла не составляет трудностей
ANB (2006-08-22 14:54:00) [5]
> WH_KEYBOARD_LL
И как хендл окна тут узнать ?
Сергей М. (2006-08-22 08:11:00) [6]
> ZLOFENIX © (22.08.06 01:18) [2]
http://www.google.ru/search?hs=kW2&hl=ru&client=firefox-a&rls=org.mozilla%3Aru%3Aofficial&q=wh_keyboard_ll&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru
ZLOFENIX (2006-08-22 01:18:00) [7]а можна в виде кода ?
Сергей М. (2006-08-21 10:38:00) [8]см. WH_KEYBOARD_LL