![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процедура по хуку клавиатуры вызывается два раза
dip63 © (2006-10-31 14:39:00)Что не так делаю. Перехватываю события клавиатуры с помощью SetWindowsHookEx. при это процедура указанная в качестве параметра вызывается два раза при каждом нажатии клавиатуры
Leonid Troyanovsky (2006-10-31 18:10:00) [1]
> dip63 © (31.10.06 14:58) [2]
> Мне надо отловить строчку от сканера штрих-кода в разрыв
А зачем хук?
--
Regards, LVT.
Сергей М. (2006-10-31 16:35:00) [2]
> А как это обойти?
А чтот такое "хук клавиатуры" ?
WH_KEYBOARD ?
WH_ LL_KEYBOARD ?
dip63 (2006-10-31 15:55:00) [3]to Drpass
Очень может быть. А как это обойти?
DrPass (2006-10-31 15:38:00) [4]
> при это процедура указанная в качестве параметра вызывается
> два раза при каждом нажатии клавиатуры
Допустим, твоя программулина делает сначала PeekMessage, а потом GetMessage. Исходники модуля Forms на предмет этого я смотрел, но есть подозрение, что дельфийские программы именно так и делают, дабы по результатам PeekMessage выдавать Application.OnIdle
Ketmar (2006-10-31 15:29:00) [5]тогда 17-я строка.
dip63 (2006-10-31 15:24:00) [6]
> У тебя ошибка в программе
Понятно что ошибка, только в чем она может быть?
> никогда не думал, что кроме нажатий клавиши ещё и отпускают?
Проверяю отслеживаю только нажатия (lParam and KF_UP)=0
Ketmar (2006-10-31 15:11:00) [7]никогда не думал, что кроме нажатий клавиши ещё и отпускают?
Сергей М. (2006-10-31 15:10:00) [8]У тебя ошибка в программе.
dip63 (2006-10-31 15:09:00) [9]Если бы знал как сделать не спрашивал бы. Ведь эта процедура вызывается не из программы а из системы. Вот и не понятно почему она вызывается по два раза для каждого нажатия клавиши
Сергей М. (2006-10-31 15:00:00) [10]
> Надо чтобы задвоений не было
Надо - сделай.
В чем вопрос-то ?
dip63 (2006-10-31 14:58:00) [11]Мне надо отловить строчку от сканера штрих-кода в разрыв клавиатуры. А поскольку функция хука вызывается два раза при каждом нажатии на клавишу клавиатуры, то они и принимаются в буфер для анализа задвоенные. Надо чтобы задвоений не было
Сергей М. (2006-10-31 14:53:00) [12]
> Что не так делаю. Перехватываю события клавиатуры с помощью
> SetWindowsHookEx. при это процедура указанная в качестве
> параметра вызывается два раза при каждом нажатии клавиатуры
>
Это ты изложил суть ситуации.
А вопрос-то в чем ? Вопроса-то не видно ..