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

Вниз

Не получается глобальный отлов клавиш   Найти похожие ветки 

 
ISergey   (2003-01-20 17:05) [0]

Буду краток:
Написал прогу, которая висит в трее и должна отслеживать все нажатия кнопок в системе. Если активно главное окно моей программы, все получается. Если же нет, то команда PostMessage не работает. Почему?

const WM_KEYHOOK = WM_USER + 123;

// Процедура хука
function KeyboardProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM ): LRESULT;
var i : Integer;
g_hhk : HHOOK;
begin
if ((nCode = HC_ACTION) and (((lParam shr 16) and KF_UP) = 0))
then begin
for i := 0 to Count-1 do PostMessage( Handles^[i],
WM_KEYHOOK, wParam, lParam);
end;
Result := CallNextHookEx( g_hhk, nCode, wParam, lParam);
end;

//Код инициализации (находится в длл)
HookHandle := SetWindowsHookEx( WH_KEYBOARD, @KeyboardProc,
hInstance, 0);
Count := 0; Handles := nil;

//Основная прога вызывает длльную процедуру пополнения списка Handles и, по идее, должна обрабатывать WM_KEYHOOK:
procedure TForm1.WMKeyHook(var Message: TMessage);
begin
Label1.Caption := "Где-то нажата кнопка!";
end;


 
ISergey   (2003-01-20 18:00) [1]

Разобрался! Если кого интересует - пишите! Отвечу!


 
KDenis ©   (2003-01-20 23:27) [2]

Ну и как?


 
dimich1978 ©   (2003-01-21 11:07) [3]

Куда писать то? Ответь и мне на мыло


 
Anatoly Podgoretsky ©   (2003-01-21 11:16) [4]

grandfather@country.ru


 
romychk   (2003-01-21 13:24) [5]

Если можно скинь мне исходник тоже, а то перед єтим говорили, что для такого нужно писать ДЛЛ, и из своей программы, забирать.


 
romychk   (2003-01-21 16:59) [6]

Я чтото не прочитал, и обрадовался тут тоже используется ДЛЛ, а не лзя ли без ДЛЛ?



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
14-30072
Vass
2003-02-21 15:17
2003.03.10
Как Читать виндовую адресную книгу из дельфи 3


14-30096
asafr
2003-02-21 11:54
2003.03.10
РОССИЯ ПОДДЕРЖИТ США КАЧЕСТВЕННЫМИ ГРОБАМИ


1-29937
ЮРИЙ_К
2003-02-27 08:49
2003.03.10
Как применить TAction одновременно к меню и кнопке?


14-30035
Ketmar
2003-02-22 13:51
2003.03.10
как часто и активно вы используете в программах Assert ы?


3-29738
Ihtiandr
2003-02-14 13:25
2003.03.10
dataSet