Вниз
Скачать: CL | DM;

Процедура по хуку клавиатуры вызывается два раза   Найти похожие ветки 

← →
dip63 ©   (2006-10-31 14:39) [0]

Что не так делаю. Перехватываю события клавиатуры с помощью SetWindowsHookEx. при это процедура указанная в качестве параметра вызывается два раза при каждом нажатии клавиатуры


← →
Сергей М. ©   (2006-10-31 14:53) [1]


> Что не так делаю. Перехватываю события клавиатуры с помощью
> SetWindowsHookEx. при это процедура указанная в качестве
> параметра вызывается два раза при каждом нажатии клавиатуры
>


Это ты изложил суть ситуации.

А вопрос-то в чем ? Вопроса-то не видно ..


← →
dip63 ©   (2006-10-31 14:58) [2]

Мне надо отловить строчку от сканера штрих-кода в разрыв клавиатуры. А поскольку функция хука вызывается два раза при каждом нажатии на клавишу клавиатуры, то они и принимаются в буфер для анализа задвоенные. Надо чтобы задвоений не было


← →
Сергей М. ©   (2006-10-31 15:00) [3]


> Надо чтобы задвоений не было


Надо - сделай.

В чем вопрос-то ?


← →
dip63 ©   (2006-10-31 15:09) [4]

Если бы знал как сделать не спрашивал бы. Ведь эта процедура вызывается не из программы а из системы. Вот и не понятно почему она вызывается по два раза для каждого нажатия клавиши


← →
Сергей М. ©   (2006-10-31 15:10) [5]

У тебя ошибка в программе.


← →
Ketmar ©   (2006-10-31 15:11) [6]

никогда не думал, что кроме нажатий клавиши ещё и отпускают?


← →
dip63 ©   (2006-10-31 15:24) [7]


> У тебя ошибка в программе

Понятно что ошибка, только в чем она может быть?

> никогда не думал, что кроме нажатий клавиши ещё и отпускают?

Проверяю отслеживаю только нажатия (lParam and KF_UP)=0


← →
Ketmar ©   (2006-10-31 15:29) [8]

тогда 17-я строка.


← →
DrPass ©   (2006-10-31 15:38) [9]


> при это процедура указанная в качестве параметра вызывается
> два раза при каждом нажатии клавиатуры

Допустим, твоя программулина делает сначала PeekMessage, а потом GetMessage. Исходники модуля Forms на предмет этого я смотрел, но есть подозрение, что дельфийские программы именно так и делают, дабы по результатам PeekMessage выдавать Application.OnIdle


← →
dip63 ©   (2006-10-31 15:55) [10]

to  Drpass
Очень может быть. А как это обойти?


← →
Сергей М. ©   (2006-10-31 16:35) [11]


> А как это обойти?


А чтот такое "хук клавиатуры" ?

WH_KEYBOARD ?
WH_LL_KEYBOARD ?


← →
Leonid Troyanovsky ©   (2006-10-31 18:10) [12]


> dip63 ©   (31.10.06 14:58) [2]

> Мне надо отловить строчку от сканера штрих-кода в разрыв


А зачем хук?

--
Regards, LVT.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
3-1165917881
homm
2006-12-12 13:04
2007.03.11
Не могу придумать как связать строки


6-1159851979
YurkaT
2006-10-03 09:06
2007.03.11
из памяти клиенту в браузер


2-1171709024
Trible
2007-02-17 13:43
2007.03.11
проблема с TShellTreeView


15-1171653013
Cyrax
2007-02-16 22:10
2007.03.11
IE 7


2-1171790032
VadimSpb
2007-02-18 12:13
2007.03.11
Создание текстового файла в ASCII




   Наверх