Вниз
Скачать: CL | DM;

Клавиатура как в Досе.   Найти похожие ветки 

 
sniknik ©   (2002-11-21 22:51) [0]

Необходимо (мне) обрабатавать нажатие на клавиши, но сами они не нажимаются а эмулируются устройством в разрыв клавиатуры (сканер штрихкодов).
В досе все хорошо то что он посылает то получается, а вот в виндах проблема (по крайней мере для меня) получаю не те силволы :(. Посылается символ со скан кодом 2 (два), в дос так и принимается (по Readkey) в виндах вместо него сканкод 17 + сканкод 86, точно не помню но то же сочетание что дает Ctrl+b, вплоть до флагов (событие onKeyDown).

Вопрос возможно в виндах получить значение точно такоеже какое дает в досе? И каким способом?

если в этом случае 2=Ctrl+b еще может прокатить за "фенечку" то в случае с 0 в расширенных кодах вообще нет значения (а оно мне оченно нужно), получается 0+81 в дос = 46 в виндах (а это точка! часто встречается)

заранее извиняюсь, если обсуждение затянется до завтра то завтра у меня инета не будет скорее всего :((.


 
sniknik ©   (2002-11-23 13:36) [1]

Похоже не решается.
Пробовал через LParam (в хуке, в MSDN нашол что передается скан код 16-23 биты) но проблема осталась т.к. там именно клавиатурные коды, коды клавиш (ESC=1, F1=59 и т.д) тут значения тоже пересекаются.
Можно еще посмотреть в комбинации, но вряд ли (так можно подобрать только для под конкретный сканер универсальности не получится), нужно чтонибудь с самими сканерами делать :(. Либо опускатся до клавиатурного драйвера а это гораздо сложнее.


 
LordOfSilence ©   (2002-11-25 10:05) [2]

Delphi->Help->Windows SDK->MapVirtualKey()?


 
sniknik ©   (2002-11-25 12:43) [3]

Пробовал, при MapType = 0 возврашает теже скан коды что в LParam[16..23], в других случаях преобразует в те же значения. ну в смысле если мое значение -2- драйвером преобразуется в -Ctrl+b- то дальше они совершенно однозначны и при MapType = 1 оба преобразуются в -119-.
и потом очень много кодов нетранслируемых, возврашается 0, а у меня это нормальное значение. :-((


 
Андрей Ваганов   (2002-11-25 13:19) [4]

Есть вариант еспользовать TEdit(получишь то, что сканишь) далее используй по назначению. Edit можно замутить невидимым.

...тупо, но способ! :)


 
sniknik ©   (2002-11-25 15:06) [5]

Андрей Ваганов (25.11.02 13:19)
вообще не способ. без разницы у какого компонента onKeyUp срабатывает.
попробуй к примеру получить нажатием на клавиши там значек кода 2 -



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
3-4768
zolotov
2003-01-16 14:55
2003.02.03
BDE


1-4928
Tahion
2003-01-13 09:22
2003.02.03
ХР кнопки


14-5185
о
2003-01-14 16:09
2003.02.03
Нужны приколы про электриков


14-5181
Чайник(заварной)
2003-01-18 01:30
2003.02.03
Помогите с TStringGrid


14-5138
JibSkeart
2003-01-16 15:14
2003.02.03
COM/COM/+DCOM Есть у кого нить примеры хорошие ???




   Наверх