Как выполнить команду, когда пользователь нажимает клавишу в приложении C командной строки?Возможно ли, когда окно не сфокусировано
Зависит от самой программы, вы можете сделать любой из этих:
блок на небуферизованном getc вы получаете нажатия клавиш по мере их поступления, а не когда пользователиХиты возвращаются.
создать какой-то цикл событий, используя select / epoll или структуру событий, например ( libevent / libev ) и получитьобратный вызов всякий раз, когда пользователь нажимает клавишу.
использует инструментарий, такой как ncurses , который предоставляет псевдографический интерфейс командной строки и цикл обработки событий.
если ключи, которые вам интересны при захвате, такие как CTRL + C , вам нужны обработчики сигналов.