Форум: "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.017 c
1-32822           SuperIgor             2002-03-28 21:28  2002.04.11  
Срочно помогите!!!


14-32979          Стас                  2002-03-04 08:32  2002.04.11  
Исходники для работы с dBASE в Паскале


6-32923           shnitken              2002-01-29 14:32  2002.04.11  
ESocketError


1-32744           Денис_                2002-03-30 12:52  2002.04.11  
Модификация ListBox


1-32745           DimaP                 2002-03-29 23:45  2002.04.11  
Form