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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
3-4745
andwcomm
2003-01-15 21:20
2003.02.03
Как програмно узнать физическое расположение файла базы данных


14-5129
kronprince
2003-01-13 16:37
2003.02.03
Разочаровался я в Delphi :(((


14-5260
iNew
2003-01-17 06:05
2003.02.03
Как в Fare посмотреть размер файла?


4-5354
dmibar
2002-12-21 23:09
2003.02.03
не удается открыть файл


3-4717
Big_Rom
2003-01-18 13:42
2003.02.03
Вот такой странный вопрос?