Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2012, 15:43   #1
t2skler
Форумчанин
 
Аватар для t2skler
 
Регистрация: 25.11.2010
Сообщений: 164
По умолчанию Отловить минимизацию/максимизацию окна консольного приложения

Подскажите, пожалуйста, возможно ли отловить события минимизации/максимизации окна консоли при помощи базовых функций? При помощи ReadConsoleInput, насколько я знаю, это сделать невозможно. Стоит наверное уточнить, что нужно отловить события нажатий свернуть и развернуть.
Возможно Я Быдлокодер ©.

Последний раз редактировалось t2skler; 29.04.2012 в 15:45.
t2skler вне форума Ответить с цитированием
Старый 29.04.2012, 19:37   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
onewho вне форума Ответить с цитированием
Старый 29.04.2012, 22:04   #3
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Отловить вряд ли получиться. Только разве что, выяснить текущее состояние окна.
GetConsoleWindow / GetWindowPlacement.
Проверяй время от времени в цикле, и это будет считаться отловом события...
А так, операционка не даст возможности подменить оконную процедуру консольного окна на свою. Я во всяком случае не вижу стандартного способа. Так-то бы конечно, ловить WM_SIZE и всего делов...
EUGY вне форума Ответить с цитированием
Старый 29.04.2012, 22:17   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

EUGY

операционка не даст возможности подменить оконную процедуру консольного окна на свою

с чего это вдруг?

проверять лень, но я не вижу причины, почему может не сработать GetConsoleWindow, а потом SubclassWindows с полученным hwnd. а там ловим minimize/maximize
Rififi вне форума Ответить с цитированием
Старый 29.04.2012, 22:25   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
с чего это вдруг?
А вот !
Блокируется попытка сменить SetWindowLong(hwnd , GWL_WNDPROC, myWndProc).
Правда тоже лень проверять, может и можно обойти...

зы
Попробовать хук на него поставить, что-ли...
На досуге покопаю...

Последний раз редактировалось EUGY; 29.04.2012 в 22:44.
EUGY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрешение консольного приложения Bags Общие вопросы C/C++ 3 11.02.2012 20:43
Отмена закрытия консольного окна после завершения работы приложения FeloS Общие вопросы C/C++ 21 25.02.2011 16:34
Скрытие окна консольного приложения padsyukin Общие вопросы Delphi 9 16.12.2010 18:15
Найти handle окна "консольного приложения" Человек_Борща Общие вопросы Delphi 2 01.10.2010 18:40
Как выставить размер окна консольного ДОС приложения? tolikrog Помощь студентам 5 27.01.2010 13:22