Главная страница
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.109 c
3-1166176488
_Guest_
2006-12-15 12:54
2007.03.11
Ошибка при отсутствии BDE


2-1171966110
Bob_l
2007-02-20 13:08
2007.03.11
SellTreeView


15-1171467679
Vlad Oshin
2007-02-14 18:41
2007.03.11
как вставить в html элемент (в SELECT) значение? tWebBrowser


15-1171350596
Леприкон
2007-02-13 10:09
2007.03.11
Компонент для панели поиска


6-1159869937
mr.il
2006-10-03 14:05
2007.03.11
Отправить xml-rpc запрос сервису