Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


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. при это процедура указанная в качестве
> параметра вызывается два раза при каждом нажатии клавиатуры
>


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо