Выравнивание окон по направляющим
От: Lomion  
Дата: 04.12.17 12:13
Оценка:
Всем привет.

Стоит задача выравнивания всех окон по направляющим, эдакие "прилипающие" окна.
Со своими окнами проблем нет: перезаписываю позицию в событии WM_WINDOWPOSCHANGING.
Проблемы возникают с окнами других процессов. Пытался использовать хуки. По описанию должен подходить хук WH_GETMESSAGE, но события, связанные с перемещением окна или изменением его размеров, в нем не отлавливаются, т.е. их нет вообще. Хук WH_CBT не совсем подходит, там события приходят после совершения всех действий.

Собственно, не понятно, почему не приходят сообщения WM_WINDOWPOSCHANGING и т.п. в хуке WH_GETMESSAGE.
И, в правильном ли направлении я иду? Может такие задачи решаются подменой оконных функций или чем-то другим, а я тут с обычными хуками копаюсь. Хотя подмена, на мой взгляд, это как-то уж чересчур, попахивает хакерством и черной магией.

Сам проект на .NET, dll-ки на C++.

UPD. Наверняка, подобные темы уже обсуждались, буду рад ссылкам на похожие темы.
Отредактировано 04.12.2017 12:15 Lomion . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.