![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какое ОКНО Было АКТИВНО ? [D5, D6, Win2k, WinXP]
eruc © (2002-07-04 19:00:00)Как узнать Какое ОКНО Было АКТИВНО Последним до того момента пока я не активизировал свое окно ?
Юрий Зотов (2002-07-05 00:38:00) [1]Народ, все же думайте, когда советуете... И без того на форуме слишком много бесполезного флейма.
GetForegroundWindow и GetNextWindow - функции, конечно, хорошие. Вот только ОТКУДАих вызывать прикажете? В КАКОЙмомент? Конкретно, pls, без общих слов.
asmer (2002-07-04 22:26:00) [2]WM_ACTIVATE
fActive = LOWORD(wParam); // activation flag
fMinimized = (BOOL) HIWORD(wParam); // minimized flag
hwndPrevious = (HWND) lParam; // window handle -
//предыдущее окно
типа, как и сказал юрий зотов... а перечислять окошки с помощью GetNextWindow смысла, наерно, нет, т.к. предыдущее окно могло быть, например, закрыто (в результате чего и было передано управление в ваше окошко)....
Gerda (2002-07-04 20:51:00) [3]GetNextWindow(hWnd:HWND,wCmd:Integer):HWND
Возвращает хэндл следующего или предыдущего окна
HWnd – хэндл окна относительно которого ищется окно в z-последовательности (т.е. текущее хэндл окно)
WCmd –параметр поиска:
GW_HWNDNEXT - следующее окно
GW_HWNDPREV – предыдущее окно
Z-последователность это такая последовательность, согласно которой в памяти распологаются окна и сопоставленные им объекты(кнопки и т.д.)Используя эту функцию можно получить дискриптор кнопки или др. компонента.
s.ts (2002-07-04 20:42:00) [4]А почему нельзя определить активное окно перед активизацией своего (GetForegroundWindow)?
Юрий Зотов (2002-07-04 20:07:00) [5]Эх, нет под рукой справки, попробую на память. Посмотрите WM_ACTIVATE - кажется, туда приходит хэндл прежнего активного окна.
asmer (2002-07-04 19:18:00) [6]наверное, только с использованием хука WH_SHELL...