Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.21;
Скачать: CL | DM;

Вниз

Как ловить жмаканья клавиш?   Найти похожие ветки 

 
PlaZZma ©   (2002-03-05 12:22) [0]

Уважаемые мастера!
Плиз, подскажите, как ловить нажимания клавиш, если форма невидима? Я пишу сниффер и столкнулся с этой проблемой.
Если это возможно только через WinApi, то помогите куском кода.


 
Андрей Сенченко ©   (2002-03-05 12:34) [1]

Жмаканья клавиш обычно ловятся хитрой пимпой.
А какая форма невидима ?


 
PlaZZma ©   (2002-03-05 12:49) [2]

Невидима Главная Форма.
И вообще она одна.


 
Андрей Сенченко ©   (2002-03-05 13:13) [3]

Вопрос на самом деле так и остался не понятен ... но может быть вот это поможет:
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988619882&n=15


 
greenrul ©   (2002-03-05 13:16) [4]

Я тут недавно такой-же вопрос писал - приеду вечером кину тебе на мыло исходники проги (скажи если нуно), которая на пимпы жмакает разную туфту.

А пока погляди на Gpчего-то-там-hook на www.torry.net


 
PlaZZma ©   (2002-03-05 16:17) [5]

2 greenrul
Нужно ловить нажатия клавиш,а не жмать их, когда прога как-бы "в фоновом режиме", т.е. прога на самом деле невидима (форма активируется невидимой) и должна ВСЕГДА ловить клавиши, которые жмакаются хоть откуда.
Если у тебя в сорце это есть, то шли (конечно, желательно с объяснениями) обязательно.


 
Андрей Сенченко ©   (2002-03-05 16:28) [6]

Что, о ссылке в FAQ лень залезть ? Ладно - цитирую выдержку:
....
III. Перехват нажатия клавиши в Windows.
Существуют приложения, которым необходимо перехватывать все нажатия клавиш в Windows, даже если в данный момент активно другое приложение. Это может быть, например, программа,
переключающая раскладку клавиатуры, резидентный словарь или программа, выполняющая иные действия по нажатию "горячей" комбинации клавиш. Перехват всех событий в Windows (в том числе и событий от клавиатуры) выполняется с помощью вызова функции SetWindowsHook(). Данная функция регистрирует в системе Windows ловушку (hook) для определенного типа событий/сообщений. Ловушка - это пользовательская процедура, которая будет обрабатывать указанное событие. Основное здесь то, что эта процедура должна всегда присутствовать в памяти Windows. Поэтому ловушку помещают в DLL и загружают эту DLL из программы. Пока хоть одна программа использует DLL, та не может быть выгружена из памяти.

Пример работающей программы можно скачать здесь:
http://delphi.mastak.ru/download/HookDLL.zip
Он отлавливает нажатия клавиш во всех приложениях и выводит их в окно основной программы, которая ставит хук.
(За программу отдельное спасибо "Raptor" и Юрию Зотову)



 
PlaZZma ©   (2002-03-05 16:41) [7]

2 greenrul
Нужно ловить нажатия клавиш,а не жмать их, когда прога как-бы "в фоновом режиме", т.е. прога на самом деле невидима (форма активируется невидимой) и должна ВСЕГДА ловить клавиши, которые жмакаются хоть откуда.
Если у тебя в сорце это есть, то шли (конечно, желательно с объяснениями) обязательно.



Страницы: 1 вся ветка

Текущий архив: 2002.03.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
14-66985
uuuu
2002-02-07 23:33
2002.03.21
Приветствую! Люди! помогите! как удалить файл из под делфи? Например c: windows kernel.3gh


1-66901
lipskiy
2002-03-06 02:11
2002.03.21
OpenDialog перестал реагировать на InitialDir !!! Помогите разобраться с глюком.


1-66850
DR
2002-03-05 14:36
2002.03.21
Как прервать загрузку TWebBrowser а на 30 процентах


4-67054
L_G
2002-01-24 11:59
2002.03.21
Как управлять чужим приложением?


1-66829
Slav
2002-03-07 13:20
2002.03.21
QuickReport не хочет печатать