![]() |
|
|
![]()
|
|
| mavrusha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 25.2.2008 Репутация: нет Всего: нет |
Хочу сделать всплывающее окно для стандартной консоли windows, которое поможет упростить ввод команд. Как к примеру в видеоиграх. Но хочется сделать это не с помощью написания своей функции gets(), а путем перехвата сообщений к консольному окну (главный поток вызывает gets(), а второй перехватывает нажатия пользователя. Все в рамках одного процесса).
Я пробовал перенаправлять стандартный ввод при помощи SetStdHandle, но ничего хорошего не вышло. (Второй поток может прочитать строку которая в данный момент на экране, но момент нажатия клавиши отловить не получается - в этом то и проблемма). В MSDN есть примеры как обрабатывать ввод на низком уровне (ReadConsoleInput), но если один поток вызывает к примеру gets(), то второй поток в пролете и ничего не получает. У меня нет опыта по ручной обработки сообщений Windows, поэтому может кто ответит можно ли в консоли отловить сообщения о нажатии из порожденного потока. Спасибо. |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Винда посылает сообщения окнам, они их обрабатывают в цикле, консоль к этому никакого отношения не имеет. Добавлено через 1 минуту и 26 секунд Посмотри. -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |