powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Заблокировать только клавиатуру
13 сообщений из 13, страница 1 из 1
Заблокировать только клавиатуру
    #39188008
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача.
Надо заблокировать программно клавиатуру.
Программа запускается - блок, выход - анблок.

Пробовал запретить запуск тут: HKLM\\SYSTEM\\CurrentControlSet\\services\\kbdclass\\Start=4
Получилось, но...

Проблема в том, что на комп прицеплен сканер штрихкодов. Втыкается в USB, системой опознается как клавиатура.
Если остановить службу, то сканер тоже перестает работать.

Уважаемые гуру, помогите.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39188013
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поизучай доку по сканеру. У некоторых есть настройка в каком режиме опознаваться: как клавиатура или как COM-порт.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39189635
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max-xaMЗадача.
Надо заблокировать программно клавиатуру.
Программа запускается - блок, выход - анблок.

Пробовал запретить запуск тут: HKLM\\SYSTEM\\CurrentControlSet\\services\\kbdclass\\Start=4
Получилось, но...

Проблема в том, что на комп прицеплен сканер штрихкодов. Втыкается в USB, системой опознается как клавиатура.
Если остановить службу, то сканер тоже перестает работать.

Уважаемые гуру, помогите.


WinAPI BlockInput

http://www.sql.ru/forum/127592/blokirovanie-klaviatury

Но сканеры бывают разные, есть сканеры которые именно эмулируют клавиатуру и проводят ввод кода, как будто он введен с клавы.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39189721
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyTarasov,

BlockInput знаю
Не подходит, т.к. блокирует систему намертво - ни одно устройство ввода не работает.
Даже если удаленно подключиться к тому компу (РАдмин и т.п.), то тоже никакой реакции.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39189723
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyTarasovНо сканеры бывают разные, есть сканеры которые именно эмулируют клавиатуру и проводят ввод кода, как будто он введен с клавы.

Именно такие у меня.
В этом и проблема.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39189952
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max-xaMAndreyTarasovНо сканеры бывают разные, есть сканеры которые именно эмулируют клавиатуру и проводят ввод кода, как будто он введен с клавы.

Именно такие у меня.
В этом и проблема.
Читал что я выше писал? 18910800

Последний раз со сканерами сталкивался лет 10-15 назад, тогда делались разные модели: одни в разрыв клавиатуры, другие в COM-порт. Потом стали появляться универсальные, в т.ч. USB, у которых настраивалось какой из режимов эмулировать. Поизучай документацию, спроси производителя, может как-то можно перевести в режим COM-порта.

Иначе твоя задача нерешаемая, т.к. если ОС считает твой сканер клавиатурой, то будет его игнорировать при отключении клавиатуры.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190075
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз повторюсь.
Сканер определяется системой как клавиатура.
Режима СОМ порта нет.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190115
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант программно игнорировать все клавиши кроме цифр и enter. Например использовать хуки .
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190218
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
утилитой devcon из DDK(WDK) можно задизейблить конкретные устройства

https://msdn.microsoft.com/ru-ru/library/windows/hardware/ff544766(v=vs.85).aspx
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190365
Доктар123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте
поискать вызов в драйвере который возвращает USB Vendor ID and Product ID


По ним вы сможете отличить клавиатуру от сканера.

зы В линуксе ничего програмировать не нужно ,
девайсы можно нужным образом зароутить
и разрешить использование определенных типов
устройств в определенных местах.

Если в делаете черный ящик для пользвателя ,
я настойчиво рекоменду вам сменить Операционную Систему.
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190376
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доктар123Если в делаете черный ящик для пользвателя ,
я настойчиво рекоменду вам сменить Операционную Систему.
это само собой.

Но если продолжать битву с виндой - отрезать UAC, в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdclass добавить AccessDisable=1
и отдизейблить ненужные клавиатуры по id / подключению ( можно командной строчкой, а если напрячься - то и через API)

Весёлый цирк однако, а кому сейчас легко?
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190381
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилAccessDisable=1
тьфу, AllowDisable, язык сломать можно
...
Рейтинг: 0 / 0
Заблокировать только клавиатуру
    #39190558
Доктар123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилДоктар123Если в делаете черный ящик для пользвателя ,
я настойчиво рекоменду вам сменить Операционную Систему.
это само собой.

Но если продолжать битву с виндой - отрезать UAC, в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdclass добавить AccessDisable=1
и отдизейблить ненужные клавиатуры по id / подключению ( можно командной строчкой, а если напрячься - то и через API)

Весёлый цирк однако, а кому сейчас легко?

Max-xaM ,

Если это не черный ящик,
то делайте отметку в данных,
что введено с клавиатуры , а что введено со сканера,
опрашивая USB Vendor ID и Product ID девайса откуда читаете,
и закодируйте ее и храните рядом с данными.

Если это не черный ящик, а ширпотреб ОС,
с офисом и играми, то всегда найдется
кулибин, который случайно или преднамеренно
сломает вашу систему контроля ввода данных.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Заблокировать только клавиатуру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]