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

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

16.01.2009, 16:18. Показов 1567. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru