-
Как бы без излишних затра исхитриться-изловить сообщения, адресованные системой консольному окну при необходимости его перерисовки ?
Полагаю, WM_PAINT система туда таки посылает как и прочим (неконсольным) окнам, только вот добраться до оконной процедуры конс.окна без извращений проблематично, если вообще возможно докум.способами.
Потребовалось это для "изврата" - порисовать кой-чего прямо на DC конс.окна.. Все бы ничего, да вот с перерисовкой засада ..
Подкиньте, пож., идейки ?
p.s.
Контраргументы вида "не занимайся хренью, создавай свое окно и рисуй в нем сколько влезет" - это несерьезно)
-
приходит в голову только SetWindowsHookEx с WH_CALLWNDPROCRET или WH_GETMESSAGE
-
Лок.хук мне тоже в голову приходил .. пока не пробовал, думаю попроще варианты промелькнут ..
Да и потом сомнительно - а корретно ли выполнять собственную перерисовку прямо в обработчике хука ?
-
> собственную перерисовку
то есть окно своё?
-
Конечно свое .. не чужое ..
-
и через GetConsoleWindow + подмена виндозной процедуры не получится?
-
нет.
адрес оконной процедуры в ВАП процесса находится выше $FFFF0000 - эта область недосягаема для SetWindowLong(GWL_PROC)
-
Тьфу, глупость сморозил)
Имелось ввиду что попытка SetWindowLong(GWL_PROC) для своего конс.окна (не говоря уже о чужом) приводит к отказу с кодом 5: access denied
-
кто же тебе в CSRSS писать позволит ?
оконная процедура живет в consrv.dll, каковой consrv.dll kernel32.dll посылает нужные запросы.
IPC, панимаешь...
-
> Игорь Шевченко © (16.02.11 21:39) [8]
Не возражаю)
потому и интересуюсь - а есть ли обходные маневры ..
-
а нафига пытаца рисовать на консольном окне?
есть куча примеров перехвата консольного ввода\вывода в обычном окне,а там хоть обрисуйся
-
> нафига пытаца
Такая вот нада)
> в обычном окне
Окно консольное, потому что приложение моё и оно консольное.
-
> потому что приложение моё и оно консольное.
Приложение твоё, окно не твоё (и оно вообще не обязано быть).
Можешь убицо апстену.
Если тебе надо что-то порисовать, то создай своё окно.
Если тебе охота почесать правое ухо левой ногой через задний проход, то ты ошибся форумом. Тебе на www.bdsmmaster.ru
-
Особенно забавно попытка рисования будет смотреться в полноэкранном режиме
-
Игорь Шевченко © (17.02.11 12:39) [13]
Заказчик так соизволил - вынь да положь ему консоль)
-
предлагаю объяснить заказчику, что консоль не предназначена для рисования.
-
А рисование тоже заказчик придумал? Так это он тебя кинуть решил, типа, задание не выполнено, все дела, денег -- фига.
-
Дима, дебилушко, ты троллить не устал ?)
Пора на покой.
Без твоих сраных комментариев я уж как-нибудь обойдусь.
-