-
Уважаемые профессионалы. Подскажите пожалйста мне, как в моей программе отследить смену активного окна в виндовс, типа какого события в моей програме !?
Спасибо !
-
Может быть вот так:
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;
-
профессионалы... слово то какое... :) а с чего вдруг твоя программа должна уведомлятся о том, что активное окно виндовс сменилось? она только о своем активировании/деактивировании будет знать. а что бы следить за телодвижениями пользователя с окнами, нужно будет такую серьезную штуку сделать, как хук (hooks) реализовать. страшно? а может не надо? у меня ощущение что ты все равно ничего не поймешь, хотя может кто сердобольный даст тебе код, но ты все равно его тупо скопируешь и вставишь, а смысл в этом какой?... а никакого... а вот подсказку куда копать я тебе уже сделал... копай...
-
я знаю что надо использовать хук SetWindowsHookEx
я не знаю как будет называться эта ловушка, тип ловушки idHook - !?
-
в справке все виды ловушек перечисленны и достаточно подробно описаны
-
блин, не нашел я в справке, может не умею пользоваться, а может и нету у меня этого в справке ((( подскажите как она называется !? пожалуйста )
-
WH_SHELL
-
Можно и без хуков обойтись.
|