![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Событие смена активного окна в винде [D7, WinXP]
312kbps © (2008-04-17 12:00:00)Уважаемые профессионалы.
Подскажите пожалйста мне, как в моей программе отследить смену активного окна в виндовс, типа какого события в моей програме !?
Спасибо !
DVM (2008-04-18 10:57:00) [1]Можно и без хуков обойтись.
312kbps (2008-04-17 18:00:00) [2]WH_SHELL
312kbps (2008-04-17 15:31:00) [3]блин, не нашел я в справке, может не умею пользоваться, а может и нету у меня этого в справке (((
подскажите как она называется !?
пожалуйста )
Palladin (2008-04-17 14:13:00) [4]в справке все виды ловушек перечисленны и достаточно подробно описаны
312kbps (2008-04-17 14:05:00) [5]я знаю что надо использовать хук
SetWindowsHookEx
я не знаю как будет называться эта ловушка, тип ловушки
idHook - !?
Palladin (2008-04-17 12:52:00) [6]профессионалы... слово то какое... :)
а с чего вдруг твоя программа должна уведомлятся о том, что активное окно виндовс сменилось? она только о своем активировании/деактивировании будет знать. а что бы следить за телодвижениями пользователя с окнами, нужно будет такую серьезную штуку сделать, как хук (hooks) реализовать. страшно? а может не надо? у меня ощущение что ты все равно ничего не поймешь, хотя может кто сердобольный даст тебе код, но ты все равно его тупо скопируешь и вставишь, а смысл в этом какой?... а никакого... а вот подсказку куда копать я тебе уже сделал... копай...
<> (2008-04-17 12:49:00) [7]Может быть вот так:
VAR A:HWND;
procedure TForm1.Timer1Timer(Sender: TObject);
VAR H:HWND;
begin
H:= GetForegroundWindow();
IF A<> H THEN Application.Title:=IntToStr(H);
A:=H;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
A:=GetForegroundWindow();
end;