Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

программа должна узнать какое окно было активным [D7]


SKIPtr ©   (2014-01-07 19:37:00) 

у меня программа оно в определеное время показывает окно с сообщением
и при этом она должна узнать какое окно было активным до этого
как это лучше сделать


SKIPtr   (2014-01-09 20:11:00) [1]

спасибо за подсказки
вот интересный вариант с WM_WINDOWPOSCHANGING
просто оно перехватит сообщение к окну
я думал что можно просто узнать окно в Z порядке
оно там будет находиться в определеном месте
но может это еще сложней


Юрий Зотов   (2014-01-08 15:08:00) [2]

Посмотрите сообщение WM_ACTIVATE


DVM   (2014-01-07 23:36:00) [3]


> но есть возможность как то узнать какое окно было активным
> после того как мое окно уже запустилось

в lparam WM_WINDOWPOSCHANGING сообщения, что приходит всегда окну перед изменением его положения есть структура WINDOWPOS, там есть поле hwndInsertAfter там по идее должен быть хэндл окна которое перекрывает вновь создаваемое окно.

Другой способ контролировать все окна WH_SHELL ловушками.


SKIPtr   (2014-01-07 23:08:00) [4]

я думаю я смогу использовать GetForegroundWindow
но есть возможность как то узнать какое окно было активным после того как мое окно уже запустилось


DVM   (2014-01-07 19:45:00) [5]


> и при этом она должна узнать какое окно было активным до
> этого

GetActiveWindow или GetForegroundWindow вызвать до показа этого окна с сообщением?


Наверх

Титульная страница Поиск, карта сайта Написать письмо