Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: 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 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
2-1171995551
abba
2007-02-20 21:19
2007.03.11
Как определить сколько файлов в папке?


3-1165994423
cad2206
2006-12-13 10:20
2007.03.11
Приложение для базы MySQL


2-1171569469
dima1233
2007-02-15 22:57
2007.03.11
Окна


15-1171441422
Pazitron_Brain
2007-02-14 11:23
2007.03.11
Что Вам мешает


4-1162479325
dRake
2006-11-02 17:55
2007.03.11
Сканер штрих-кодов (+)