В смысле сделать свою прогу которая создает окно с кучей чайлдов и поставить хук на самого себя. Это будет проще потому что не надо будет извращатся с передачей данных от одного процесса к другому.
Кстати есть еще идея реализовать перехват всех APIшных GDI функций, и передавать на другую сторону просто их коды и параметры (этакий RPC устроить). Тока наверно это еще сложнее выйдет и еще не известно на какие грабли можно напороться.
Если естьвозможность киньте сырец с реализацией отслеживания какой регион перерисовывается у активного окна... Думаю с использованием
GetUpdateRgn... или с GetUpdateRect.. Очень нужно, все мои подуги реализовать сие, не совсем получаются. Не возвращает регион окошка который перерисовывается и все тут!
P.S. Сильно не пинайте за простой вопрос.. Но очень нужно сие реализовать!
Это самое..05.03.04 09:29 Автор: Killer{R} <Dmitry> Статус: Elderman
GetUpdateRect должен вызываться непосредственн перед обработкой WM_PAINT после того как система послала жту мессагу окну. В противном случае (если будешь просто от балды вызывать GetUpdateRect для какого нить окна) скорее всего будешь получать нулевой регион. Потому что сразу после обработки этой мессаги у окна нету UpdateRegion'а.
Получается нужно перехватывать сообщение.. Блин, как не...05.03.04 09:34 Автор: Darkhelmet Статус: Незарегистрированный пользователь
В смысле сделать свою прогу которая создает окно с кучей чайлдов и поставить хук на самого себя. Это будет проще потому что не надо будет извращатся с передачей данных от одного процесса к другому.
Кстати есть еще идея реализовать перехват всех APIшных GDI функций, и передавать на другую сторону просто их коды и параметры (этакий RPC устроить). Тока наверно это еще сложнее выйдет и еще не известно на какие грабли можно напороться.
А попроще ничего нету? =)05.03.04 11:11 Автор: Darkhelmet Статус: Незарегистрированный пользователь
> Блин и почему все так криво сделано? Неужели поудобней не > сделать доступ к этим объектам... Microsoft чем думает я не > знаю? Ну не знаю. Имхо тут ниче особо сложного и извратного нету - это уже как говорится дело техники
> Слушай а вызывать GetUpdateRGN, нужно быть в его потоке? Наверно в его процессе. Хотя может и нет - HWND оно ведь глобальное, пофиг в каком процессе. Если нет то проще - тебе достаточно только передавать из процедуры хука HWND своему основному процессу, затем ждать пока он отработает и продолжать обработку мессаги дальше. Это можно тем же SendMessage сделать.
Мелкософт просто выжимает бабло, это давно понятно ;-(05.03.04 11:53 Автор: HandleX <Александр М.> Статус: The Elderman
> Блин и почему все так криво сделано? Неужели поудобней не > сделать доступ к этим объектам... Microsoft чем думает я не > знаю? Subj. В доброе старое время оконная графика была достаточно тормозной штукой, поэтому боролись за каждый такт... Туннелирование снижает производительность... Хотя зачатки уже были в WinNT4, когда при создании WindowStation зарезервировали параметр, который как бы должен был указывать на драйвер, в который должна была отрисовываться вся графика... Отсюда до туннелирования пол-шага. Однако они выпустили NT4 Terminal Server Edition, в котором уже было всё круто, но незадокументировано, Privat, короче — бабло на бочку и администрируй сколько хочешь удалённо ;-)
А в функции CreateWindowStation параметр dwReserved остался до сих пор Reserved, даже в XP.