2013-09-03 2 views
-1

Я пытаюсь использовать нажатия клавиш, чтобы повлиять на мою программу. Например, у меня есть программа, которая печатает номера непрерывно. Я хочу, чтобы он прекратил печатать цифры, если я введу Ctrl + E. Как я могу это сделать на C++?C++ обнаруживает нажатия клавиш

Я читал о нескольких заголовках, таких как conio.h, но они не встроены в библиотеку C. Я хотел бы, чтобы это было как можно более чистое C/C++.

+0

Вы в Windows или Linux или других? Под «остановкой» вы имеете в виду «отменить» или «приостановить»? Должна ли программа продолжать делать другие вещи после этой операции? – lurker

+0

Я использую Linux, но я бы тоже хотел обработать Windows. Я хочу, чтобы он отменялся на данный момент, но был бы признателен за любые ссылки на то, что они делают. Поэтому после этого программа не будет делать ничего другого. –

+0

Обычно «Ctrl-C» отменит, а «Ctrl-S» остановится. Можете ли вы пояснить, что вы хотите сделать по-другому в сравнении с этими двумя стандартными элементами управления? – lurker

ответ

0

вы можете использовать GetAsyncKeyState функция для этого.

Он есть в WINUSER.H файл

+3

Он не сказал, был ли он в Windows. – lurker

0

Это зависит от операционной системы - следовательно, невозможно в «чистый» C/C++. Я боюсь, что вам нужно пойти с #ifdef SYSTEM_A, ... Обратите внимание: языки C/C++ не знают о каком-либо оборудовании (в данном случае клавиатуре), они знают потоки.

+0

Если я использую #ifdef для обнаружения систем, мне все равно нужно будет определить, какие заголовки использовать. Существуют ли встроенные заголовки для настройки нажатий клавиш для окон или Linux? –

 Смежные вопросы

  • Нет связанных вопросов^_^