Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 03.12.2020
Сообщений: 19

Блокировка клавиатуры

14.11.2021, 13:41. Показов 2565. Ответов 8
Метки fasm (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос такого рода как с помощью ассемблера на время заблокировать клавиатуру?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2021, 13:41
Ответы с готовыми решениями:

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

Блокировка клавиатуры клавишами [Ctrl] + [В], разблокировать через 8 сек.
Написать программу на Turbo Assembler Блокировка клавиатуры клавишами + , разблокировать через 8 сек.

Ввод символов с клавиатуры в ОЗУ с использованием режима ожидания готовности контроллера клавиатуры
. Разработать алгоритм ввода символов с клавиатуры в ОЗУ с использованием режима ожидания готовности контроллера клавиатуры. Текст ввода...

8
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8652 / 4487 / 1669
Регистрация: 01.02.2015
Сообщений: 13,897
Записей в блоге: 12
14.11.2021, 18:09
Если в DOS, то:
- просто запретить прерывание от клавиатуры
- перехватить и "своим" обработчиком нажатие из порта принимать, но в буфер клавиатуры не передавать

В Windows - точно не уверен, предполагаю, что ставится хук на клавиатуру, можно драйвер-фильтр. Но это уже, скорее, вопросы по системе, чем по ассемблеру. И в Windows и в Linux все задачи системного программирования вполне удобно решать на C/C++, ассемблер не даёт преимуществ в таких задачах.
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
15.11.2021, 07:25
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
все задачи системного программирования вполне удобно решать на C/C++, ассемблер не даёт преимуществ в таких задачах.
..эт ещё почему? Как-раз для сис.программирования и применяется асм в Win/никсах.

Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
предполагаю, что ставится хук на клавиатуру, можно драйвер-фильтр.
Всё это доступно даже смертному юзверю(32), и никаких драйверов не нужно.

Assembler
1
2
3
4
5
6
7
8
9
10
11
; Блокировка клавы и мыши
;--------------------------
; в user32.dll есть функция BlockInput() 
.code
start:  invoke  BlockInput,1      ; отключить клаву
        invoke  Sleep,10000       ; выждать 10 сек.
        invoke  BlockInput,0      ; включить
 
; Вкл/откл ввод мыши/клавы в указанное окно, или элемент управления
;------------------------------------------------------------------
BOOL EnableWindow(HWND hWnd, BOOL bEnable)
4
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
15.11.2021, 12:13
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
просто запретить прерывание от клавиатуры
закрыть StdIn, с помощью 0х3Е /0х21
2
0 / 0 / 0
Регистрация: 03.12.2020
Сообщений: 19
15.11.2021, 22:14  [ТС]
Цитата Сообщение от R71MT Посмотреть сообщение
BOOL EnableWindow(HWND hWnd, BOOL bEnable)
а что значит данная строка? задаю вопрос из любопытства, а так код хорошо работает.
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
16.11.2021, 04:30
Цитата Сообщение от Zdoger Посмотреть сообщение
а что значит
..это функция Win32 API - вызываешь, и она исполняет твоё желание.
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16372 / 7684 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
17.11.2021, 07:43
Zdoger,
в "F.A.Q. для раздела Assembler, MASM, TASM" сложно было заглянуть?
F.A.Q. https://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow Особенности программирования в Windows https://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow Блокируем клавиатуру в Windows
1
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
17.11.2021, 22:41
Цитата Сообщение от Mikl___ Посмотреть сообщение
в "F.A.Q. для раздела Assembler, MASM, TASM" сложно было заглянуть?
В Win7х32 c CMD:
Цитата Сообщение от Constantin Cat Посмотреть сообщение
закрыть StdIn, с помощью 0х3Е /0х21
Это работает.
В Command Prompt, как-то работал с перенаправлением дискриторов, именно первой пятерки.

Пару дней потратил на воспоминание, что в CMD делал, вспомнил о перенаправлении:закрыл StdIn, открыл "Источник", закрыл "Источник", а StdIn - не открыл, забыл.
Fasm'ом писал код открытия именно первой пятерки и потом в Проводнике запустил (Win7х32 - это позволяет).


В F.A.Q. - этого нет.
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16372 / 7684 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
18.11.2021, 01:55
Цитата Сообщение от Constantin Cat Посмотреть сообщение
В F.A.Q. - этого нет.
Constantin Cat,
так я и не расписал, как заблокировать клавиатуру через реестр
Цитата Сообщение от Mikl___
5. через реестр
Потому что потом пришлось бы переустанавливать Windows, а такой способ есть, только не для кривых ручек
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2021, 01:55
Помогаю со студенческими работами здесь

С клавиатуры вводятся символы, записать в память последние три латинские буквы из буфера клавиатуры
Написать программу в учебной модели ЭВМ С клавиатуры вводятся 10 символов, записать в память, начиная с 60 адреса последние три...

Подключение кнопочной клавиатуры к КР580ВМ80 и программированием обработки клавиатуры
Шаговый двигатель должен вращаться по часовой стрелке. Но в моей программе почему-то двигатель вращается и по против часовой стрелки....

С клавиатуры вводится цифра, необходимо вывести на экран все цифры, начиная с ‘2’ и заканчивая введенной с клавиатуры.
С клавиатуры вводится цифра, необходимо вывести на экран все цифры, начиная с ‘2’ и заканчивая введенной с клавиатуры.

С клавиатуры вводятся 7 символов,записать в память,начиная с 60 адреса все строчные латинские буквы из буфера клавиатуры
Здравствуйте, помогите пожалуйста!!! С клавиатуры вводятся 7 символов,записать в память,начиная с 60 адреса все строчные латинские буквы...

Блокировка клавиатуры
Здравствуйте. Такая проблема, я написал на C# графический пароль и нужно блокировать клавиатуру. К сожалению, на C# это сделать практически...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru