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

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

Хэндл активного окна.


cok ©   (2002-03-08 14:53:00) 

Привет All!
Как можно постоянно определять хэндл активного окна (например OnTimer)?
GetActiveWindow не подходит, т.к. цитирую:
"The GetActiveWindow function retrieves the window handle to the active window associated with the thread that calls the function."


EveryonE   (2002-03-10 06:46:00) [1]

GetForeGroundWindow, например: SendMessage(GetForeGroundWindow, WM_QUIT, 0, 0);... правда от это десктоп тоже умрет.. :((


copyr25   (2002-03-09 23:03:00) [2]

var
Form1: TForm1;
Wnd : hWnd;
p: byte;
implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
p:=0;
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO BEGIN
IF (Wnd <> Application.Handle)
AND IsWindowVisible(Wnd)
AND (GetWindow(Wnd, gw_Owner) = 0)
AND (GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
and (p=0)
THEN begin
// Wnd - активное окно
p:=1;
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;

end;

end.


Sasha9   (2002-03-08 21:41:00) [3]

GetFocus


Song   (2002-03-08 15:25:00) [4]

GetForeGroundWindow


Наверх

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