|
|
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть такая интересная программа "Barcode Harvester", с ее помощью можно проводить инвентаризацию товаров. На смартфоне нащелкал штрихкоды, затем этот список со штрихкодами отсылается в программу "Barcode Harvester" на комптьютер, а уже оттуда, с помощью пункта "Клавиатурный вывод (имитирует работу физического сканера штрихкода)" можно все выгрузить в другую программу. Так вот не могу перехватить этот самый "Клавиатурный вывод", если открыть блокнот и выводить туда, то "Barcode Harvester" тупо выкидывает туда штрихкоды, по одному в строчку, в принципе как и любой другой USB-сканер штрихкода. Пробовал через KeyPreview и обработке KeyPress на форме, но тогда почему-то перехватывается только 1-ый символ штрихкода, остальные игнорируются. Пробую через TApplicationEvents.OnMessage, но не могу понять как привести в человеческий вид, то, что мне прислали. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. на выходе получается что попало Код: pascal 1. это результат штрихкода 1705770305056 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2018, 12:31 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
aidynchik, вот здесь 17597573 есть пример кода для работы со штрихкодами... WM_CHAR для отлова данных, WM_KEYDOWN для отлова нажатия enter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2018, 12:37 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
JaDi, спасибо, я его и юзал, оказалось ошибся в одном месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2018, 17:15 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
JaDi, у меня подцеплен манифест к приложению. Так вот на windows 7 - работает все идеально, а на windows 10 - тупо ничего не перехватывается, если requestedExecutionLevel стоит "requireAdministrator". Просто не реагирует. Даже в мемо и едиты не вставляет. Как только поставить "asInvoker" и сбилдить - то реакция идет. Не сталкивались с таким? Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2018, 07:53 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
aidynchik, сталкивался -- если приложение запущено под админом, то из обычного нельзя было, например, перетащить ссылки в это окно. Но в деталях не разбирался, как с этим бороться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2018, 08:41 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
JaDiaidynchik, сталкивался -- если приложение запущено под админом, то из обычного нельзя было, например, перетащить ссылки в это окно. Но в деталях не разбирался, как с этим бороться. Там суть в том, что изначальная идея UAC - это то что даже Администратор является обычным пользователем, а при запуске "от администратора" приложение запускается от другого пользователя, даже если у него то же самое имя. Раньше это было хорошо видно на примере сетевых дисков. Видимо в Windows 10 они подкрутили уровень изоляции этих пользователей друг от друга, так что такое поведение - это фича, а не баг. Соответственно надо решать проблему передачи этих данных не только в другое приложение, но и запущенное от имени другого пользователя. Как вариант: сделать какой-нибудь прокси-процесс, который будет запускаться "AsInvoker", принимать данные от сканера и передавать их в нужное приложение через какие-нибудь Named Pipes или ещё как. Или запускать сам Barcode Harvester от имени администратора (несекурно!). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2018, 10:39 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
Но вообще, приложения выполняющиеся в повышенными правами (если это не службы, и то не всегда) - зло. Обычное пользовательское приложение должно работать под обычной учёткой. Иначе получаются истории вроде недавней, с "петей", который распространялся через приложение, которое для своей работы обязательно требовало права администратора, причём доменного... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2018, 10:42 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
alekcvpИли запускать сам Barcode Harvester от имени администратора (несекурно!). ну да, придется так. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2018, 12:00 |
|
||
|
Перехват нажатий клавиш c Barcode Harvester
|
|||
|---|---|---|---|
|
#18+
alekcvp, о безопасности вообще мало кто задумывается, надеясь на 'авось'. до тех пор, пока это 'петей' не заканчивается, или еще чем-то подобным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2018, 12:21 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2040591]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 376ms |

| 0 / 0 |
