Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5

Коды нажатия клавишь.

16.01.2009, 16:18. Показов 1596. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Code
1
2
3
4
5
6
7
8
9
10
11
12
#include'stdio.h'
#include'conio.h'
main()
{ 
  int n;
  if(!(n=getch()))
  {
     n=getch();
  }
  printf('%d
',n);
}
Почему коды стрелок которые рассположены на клаве ниже delete, end получаются одинаковыми?
Подскажите какой всё-таки функцией отслеживать коды нажатия клавишь ?
я делаю для дос простенькое меню. мой компилятор vs6.0 и ещё есть досовский старый 3.0
Хелп плиз
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2009, 16:18
Ответы с готовыми решениями:

Глобальная эмуляция нажатия клавишь клавиатуры
В кратцe: Мне нежно что бы программа думала что я нажимаю кнопки на клавиатуре. sendinput - не работает keybd_event - не работает ...

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

Обработка нажатия N клавишь
Нужно обработать одновременное нажатие нескольких клавишь на клавиатуре(скажем 5 клавишь одновременно) Обычными средствами не выходит. Не...

6
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
16.01.2009, 21:38
На досовском компиляторе для этих целей нам приходилось пользоваться ассемблером:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
#include'stdio.h'
main(){
 
  char n1, n2;
_asm {
  mov AH,10h
  int 21h
  mov n1,al
  mov n2,ah
}
 printf('%02X %02X
',n1, n2);
}
К сожалению у меня нет сейчас возможности проверить этот код. Можете посмотреть также ссылку
http://www.c-for-dummies.com/lessons/bonus/07/
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
16.01.2009, 21:51
Кажется я всё-таки неправ. Для того чтобы правильно воспринимались дополнительные клавиши на серой (цифровой) клавиатуре нужно использовать ah=11h, вторая ошибка, что обращаться надо не к DOS-прерыванию (21h) а к BIOS (16h). Таким образом, правильно будет:
Code
1
2
mov ah,11h
asm int 16h
Некоторые компиляторы также требуют, чтобы применялось не слово asm, а _asm. Поэкспериментируйте. Давно это было, уже запамятовал.
0
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5
17.01.2009, 14:06  [ТС]
Спасибо за помощь.
0
ManiaK
20.01.2009, 16:04
В vc6.0 всё таки _asm. Кстати, если написать строки асм кода:
Code
1
2
xor ax,ax
int 16h
то комп зависьнет. Зависание происходит потому, что эти строки заставляют комп ждать ввода символа(или нажатия клавиши) то в BIOS'е, то в DOS'е. А винда не ДОС и темболее не BIOS. Вот и висит прога. Естественно всё это работает только в Windows.
Это так, на заметку. Прикиньте сколько я допытывался, что происходит!
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5
21.01.2009, 19:34  [ТС]
Откуда бы мне скачатьт файл bios.h ????
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
21.01.2009, 20:24
Послал, от Borland C/C++ 3.1. Только что вы с ним будете делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.01.2009, 20:24
Помогаю со студенческими работами здесь

Ловля нажатия клавишь на клавиатуре
Привет. Вот процедура ловли клавишь на клавиатуре: procedure TForm1.WMKeyDown(var Msg: TWMKeyDown); begin if...

Qt Creator не реагирует на события мышки и нажатия клавишь
Здравствуйте форумчане. Установлен Qt Creator последней версии на Ubuntu 14.04 Mate. Однажды операционная система зависла с не закрытым...

Обработка нажатия клавишь виртуальной клавиатуры на TEdit
Делаю приложение на Delphi Xe7 для андроид. Есть окно, на нем поле TEdit. При завершении ввода текста надо нажать на клавишу Enter на...

Смена положение элементов на форме путем нажатия клавишь
Очень простой вопрос, но я не могу вспомнить как это сделать. А именно. В проекте ASP.NET WebApplication можно "натаскивать"...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru