Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Vs C++ Console перехват нажатия клавиши 
:(
    Опции темы
mavrusha
Дата 25.2.2008, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Хочу сделать всплывающее окно для стандартной консоли windows, которое поможет упростить ввод команд. Как к примеру в видеоиграх. Но хочется сделать это не с помощью написания своей функции gets(), а путем перехвата сообщений к консольному окну (главный поток вызывает gets(), а второй перехватывает нажатия пользователя. Все в рамках одного процесса). 
Я пробовал перенаправлять стандартный ввод при помощи SetStdHandle, но ничего хорошего не вышло. (Второй поток может прочитать строку которая в данный момент на экране, но момент нажатия клавиши отловить не получается - в этом то и проблемма). 
В MSDN есть примеры как обрабатывать ввод на низком уровне (ReadConsoleInput), но если один поток вызывает к примеру gets(), то второй поток в пролете и ничего не получает. 
У меня нет опыта по ручной обработки сообщений Windows, поэтому может кто ответит можно ли в консоли отловить сообщения о нажатии из порожденного потока.  
Спасибо.
PM MAIL   Вверх
Rapalex
Дата 25.2.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Цитата(mavrusha @  25.2.2008,  05:39 Найти цитируемый пост)
У меня нет опыта по ручной обработки сообщений Windows, поэтому может кто ответит можно ли в консоли отловить сообщения о нажатии из порожденного потока.  

Винда посылает сообщения окнам, они их обрабатывают в цикле, консоль к этому никакого отношения не имеет.

Добавлено через 1 минуту и 26 секунд
Посмотри.


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.