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

Вниз

Hook на мышь и клавиатуру только в своем приложении   Найти похожие ветки 

 
Vladimir   (2007-12-19 09:57) [0]

всем доброго дня!
задача в том, чтобы отслеживать факт нажатия любой кнопки мыши в дочернем окне приложения (дабы сделать вывод, что пользователь работаетс этим окном). И если в течение 10 минут пользователь не предпринимает никаких действий - закрыть окно.
ставлю локальный хук при показе этого окна:
OnFormShow:
CurMouseHook:=SetWindowsHookEx(WH_MOUSE, @MouseProc, HInstance, 0);

function MouseProc(Code: Integer; wParam: LongInt; lParam: LongInt): LongInt; stdcall;
begin
case wParam of
 WM_LBUTTONDOWN, WM_RBUTTONDOWN: begin
   RecreateTimerInterval;
 end;
end;
Result:=CallNextHookEx(CurMouseHook, Code, wParam, lParam);
end;


проблема в том, что хук на мышь (как, впрочем, и на клавиатуру) срабатывает только один раз.


 
Сергей М. ©   (2007-12-19 10:11) [1]


> ставлю локальный хук


Это не локальный хук.

Да и нафих не нужен хук для решения такой простой задачи.

Лови Application.OnMessage, фильтруй сообщения мыши и клавы, анализируй окно-приемник сообщения, взводи соответствующий этому окну 10-минутный таймер. Через 10 минут таймер сообщит, что время истекло, это и будет сигналом к закрытию окна.


 
Vladimir   (2007-12-19 11:06) [2]

этот вариант я уже использовал... просто хотелось через хуки.
все равно спасибо. )
проблема была не в хуке, а в обновлении интервала ожидания.


 
MetalFan ©   (2007-12-20 13:00) [3]


> И если в течение 10 минут пользователь не предпринимает
> никаких действий - закрыть окно.

копай в сторону полезной функции GetLastInputInfo.

> The GetLastInputInfo function retrieves the time of the
> last input event.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1221488145
Totaren
2008-09-15 18:15
2008.10.19
Как убрать полосы прокрутки в родительской форме MDI приложения?


15-1219989599
oldman
2008-08-29 09:59
2008.10.19
Доступ к старым данным


2-1221131062
programmer90
2008-09-11 15:04
2008.10.19
Команда в ShellExecute


2-1220531255
zzz
2008-09-04 16:27
2008.10.19
Проверка на последнюю запись


9-1173732968
Mr.Vlad
2007-03-12 23:56
2008.10.19
3ds max