Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Вниз

hooks 


dip56245   (2002-01-31 16:28) [0]

Господа, такая проблема: создал библиотеку(хук) для перехвата кнопок вне приложения, работает нормально, только если приложение виндовое, под FAR, DN или других не вин. приложениях - непашет! как это исправить?



Виктор Щербаков   (2002-01-31 16:55) [1]

Значит сообщения, связанные с клавиатурой в них не отправляются.

Windows maintains a single system message queue and any number of thread message queues, one for each GUI thread. To avoid the overhead of creating a message queue for non-GUI threads, all threads are created initially without a message queue. The system creates a thread"s message queue only when the thread makes its first call to one of the Win32 API User or GDI functions.

Кстати FAR - просто консольный, т.е. он не ДОСовый.



dip56245   (2002-02-03 20:30) [2]

Ну так как мне перехватить нажатие клавишь в консольных и ДОСовских прогах? На 21h вешаться?



Serg001   (2002-02-04 08:42) [3]

Чувак, покажи свою функцию hook.



ggrisha   (2002-02-04 09:41) [4]

Можно непосредственно опрашивать порт клавиатуры, но к сожалению под win2k это не проходит.



dip56245   (2002-02-07 23:06) [5]

function KeyboardProc(Code: Integer; wParam, lParam: Integer): Integer; stdcall;
begin
if (Code >= 0) and ((HiWord(lParam) and KF_ALTDOWN) <> KF_ALTDOWN) and ((HiWord(lParam) and KF_REPEAT) <> KF_REPEAT) and ((HiWord(lParam) and KF_UP) <> KF_UP) then begin
if IsWindow(PProgData.WndMain) then PostMessage(PProgData.WndMain, HM_ACTION, Ord(haKBD), wParam);
end;
Result := CallNextHookEx(PProgData^.Hooks.KeyboardHook, Code, wParam, lParam);
end;

Вот мой хук - из-под ФАРа не передает кнопки! 8(



Fellomena   (2002-02-08 12:00) [6]

Приведи код в котором ты hook ставишь.
Попробуй ставить не WH_KEYBOARD, а WH_KEYBOARD_LL
Это низкоуровневый фильтр клавы. Может поможет ?




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.077 c
4-33011           Yaro                  2002-02-10 21:38  2002.04.11  
Принудительное завершение работы программы, не имеющую окна или как получить Хэндл процесса


1-32730           Eug201                2002-03-26 18:08  2002.04.11  
TRxRichedit


1-32741           snoup                 2002-03-29 23:25  2002.04.11  
А как создать свой лог-файл который бы вёл журнал(когда/восколько


7-32995           Voldemar              2002-01-17 19:48  2002.04.11  
Измерение загрузки и температуры процессора


3-32704           visa                  2002-03-21 19:40  2002.04.11  
проект без BDE