Главная страница
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.046 c
15-1171441422
Pazitron_Brain
2007-02-14 11:23
2007.03.11
Что Вам мешает


2-1171886181
lorn
2007-02-19 14:56
2007.03.11
web deploys


5-1149513099
Gleb
2006-06-05 17:11
2007.03.11
Подскажите как в компоненте TTreeView через edit1.text добавить н


3-1166083953
cad2206
2006-12-14 11:12
2007.03.11
Помогите составить запрос


9-1145199906
Kaviss
2006-04-16 19:05
2007.03.11
ODE dSpaceCollide (space,nil,nearCallback); ошибка