Jak sprawdzić czy okno aplikacji aktualnie jest na wierzchu
czy jest zasłonięte innymi oknami?

- Rejestracja:ponad 22 lata
- Ostatnio:około 24 godziny
na pierwszy rzut oka - GetForegroundWindow() i porównanie z uchwytem Twojego okna. albo onActivate/onDeactivate formy. jednak to tylko załatwi sprawdzenie, czy okno jest aktywne, nie czy jest zasłonięte. wątpię, żeby był jakiś w miarę prosty sposób na szybkie sprawdzenie, czy okno jest widoczne w całości. możesz porównać piksel po pikselu Twoje okno z pamięcią ekranu (obiekt screen), jednak jest to fatalna metoda - bo powolna.

- Rejestracja:prawie 19 lat
- Ostatnio:15 dni
- Postów:819
Sprawdzam otrzymane wskazówki.
Okazuje się że TForm.OnDeactivate Event zachodzi, gdy przechodzimy z jednej do drugiej formy w ramach jednej aplikacji.
Aby sprawdzić czy inna aplikacja stała się aktywna (po czym np. przesłoniła moje okno) należy zastosować TApplication.OnDeactivate Event.
Nie wiem jednak jak to ugryźć. Może macie panowie jakieś wskazówki...
Jak wykorzystać TApplication.OnDeactivate Event?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.