| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Vs C++ Console перехват нажатия клавиши |
| Автор: mavrusha 25.2.2008, 05:39 |
| Хочу сделать всплывающее окно для стандартной консоли windows, которое поможет упростить ввод команд. Как к примеру в видеоиграх. Но хочется сделать это не с помощью написания своей функции gets(), а путем перехвата сообщений к консольному окну (главный поток вызывает gets(), а второй перехватывает нажатия пользователя. Все в рамках одного процесса). Я пробовал перенаправлять стандартный ввод при помощи SetStdHandle, но ничего хорошего не вышло. (Второй поток может прочитать строку которая в данный момент на экране, но момент нажатия клавиши отловить не получается - в этом то и проблемма). В MSDN есть примеры как обрабатывать ввод на низком уровне (ReadConsoleInput), но если один поток вызывает к примеру gets(), то второй поток в пролете и ничего не получает. У меня нет опыта по ручной обработки сообщений Windows, поэтому может кто ответит можно ли в консоли отловить сообщения о нажатии из порожденного потока. Спасибо. |