| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Окнонная процедура |
| Автор: RapMan 22.6.2009, 21:24 |
| Доброе время суток! я пишу длл которая должна подменить оконную процедуру... эта длл грузиться в адресное пространство процесса (определенного), кажется все понятно, но как узнать hWnd окна текущего процесса? Все заранее спасибо |
| Автор: Andrey44 23.6.2009, 07:02 |
| FindWindow() |
| Автор: RapMan 23.6.2009, 11:24 |
| а можно как-то без FindWindow/EnumWindows обойтись? |
| Автор: Andrey44 23.6.2009, 14:21 |
| А чем FindWindow не устраивает? |
| Автор: GremlinProg 23.6.2009, 16:05 |
| зная дескриптор окна, можно определить PID, в котором оно было создано: GetWindowThreadProcessId обратного не дано, т.к. в одном процессе и потоке может быть создано не одно окно, т.е., даже если используешь EnumWindows, будь готов обработать список окон для текущего процесса все упрощается, особенно, если в этом процессе только один поток: EnumThreadWindows |
| Автор: RapMan 23.6.2009, 16:08 |
| Спасибо! а можно как-то отследить создание новых окон во время работы чтобы автоматически и им менять оконные процедуры? |
| Автор: RapMan 23.6.2009, 16:48 |
| как? Хочу отфильтровать некоторые сообщения в всех окнах. |
| Автор: GremlinProg 23.6.2009, 18:33 |
| http://msdn.microsoft.com/en-us/library/ms632638(VS.85).aspx обрабатывай это сообщение, оно посылается родителю, всякий раз, когда на нем создается дочернее окно |
| Автор: RapMan 23.6.2009, 18:40 |
| GremlinProg, Большое Спасибо!!!! |
| Автор: Earnest 23.6.2009, 19:23 |
| Есть еще хук WH_CBT, позволяющий отследить, в частности, создание окон. |