Главная страница
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.03 c
2-1171658763
Norfolk
2007-02-16 23:46
2007.03.11
Использование системных переменных в имени файла


2-1171892873
НОВИЧЕК2007
2007-02-19 16:47
2007.03.11
ПОИСК


2-1172056986
Selected
2007-02-21 14:23
2007.03.11
Выделить файл


2-1171648748
Malik
2007-02-16 20:59
2007.03.11
Работа с кодом типа String


3-1166111990
The X
2006-12-14 18:59
2007.03.11
Изменение структуры полей Paradox.