Co chcę zrobić, to sprawdzić, czy moja aplikacja ma fokus, ponieważ jeśli tak nie jest, wyskoczy okienko alertu tuż nad obszarem powiadomień, aby wyświetlić komunikat do użytkownika końcowego.Jak mogę sprawdzić, czy moja aplikacja jest aktywna?
Odpowiedz
Zadzwoń pod Windows.GetForegroundWindow()
, a następnie przekaż HWND
do funkcji Controls.FindControl()
. Zwróci wskaźnik zerowy TWinControl
, jeśli HWND
należy do twojego procesu. Na przykład:
if FindControl(GetForegroundWindow()) <> nil then
// has focus ...
else
// does not have focus ...
Jeśli aplikacja składa się z jednego formularza, a następnie
GetForegroundWindow = Handle
wystarczy. Powyższe wyrażenie jest prawdziwe wtedy i tylko wtedy, gdy formularz jest oknem pierwszego planu, tzn. Jeśli fokus klawiatury należy do formantu w tym formularzu (lub do samego formularza).
Jeśli aplikacja składa się z kilku formularzy, po prostu przeprowadź przez nie pętle i sprawdź, czy któryś z nich pasuje do GetForegroundWindow
.
Nieznaczne odchylenie od odpowiedzi Remys jest:
Var
Win: TWinControl;
Begin
Win := FindControl(GetForegroundWindow);
if Win <> nil then
// StringGrid1.Row :=5;
// StringGrid1.SetFocus;
skompilowany dla mnie ok, ale okazało się to niewiarygodne podczas debugowania The stringgrid.setfocus nazywa nawet gdy okno ISN” t focused, powodując błąd.
D2007 ma tę właściwość przydatnych
if Application.Active then
//
- 1. Jak sprawdzić, czy sesja jest aktywna?
- 2. Jak sprawdzić, czy moja aplikacja jest domyślnym programem uruchamiającym?
- 3. Jak wykryć, czy moja aplikacja jest piaskownica?
- 4. Jak sprawdzić, czy zakładka jest aktywna czy nie w JTabbedPane?
- 5. Sprawdź, czy moja aplikacja IOS jest zaktualizowana
- 6. Jak sprawdzić, czy moja strona jest skrobana?
- 7. Jak sprawdzić, czy moja aplikacja może wyświetlać powiadomienia?
- 8. Jak mogę sprawdzić, czy inna aplikacja w systemie jest oryginalna?
- 9. Jak sprawdzić, czy moja aplikacja działa jako aplikacja 32-bitowa czy 64-bitowa?
- 10. Jak mogę zrestartować moja aplikacja iphone
- 11. Jak sprawdzić, czy aplikacja jest uruchomiona
- 12. Jak sprawdzić programowo, czy aplikacja jest zainstalowana?
- 13. Jak sprawdzić, czy moja aplikacja jest ustawiona domyślnie, czy nie w systemie Android?
- 14. Jak mogę sprawdzić, czy moja aplikacja dla Androida ma wyciek pamięci?
- 15. Jak mogę sprawdzić, czy moja aplikacja ma dostęp do galerii telefonu?
- 16. Jak sprawdzić, czy moja aplikacja konsoli Delphi jest przekierowywana do pliku lub potoku?
- 17. Jak mogę sprawdzić, czy moja pamięć podręczna Redis działa?
- 18. Jak sprawdzić, czy moja tablica zawiera obiekt?
- 19. Jak sprawdzić, jakie wymagania sprzętowe ma moja aplikacja na Androida?
- 20. Ionic2 - sprawdź, czy strona jest aktywna
- 21. Jak sprawdzić, czy inna aplikacja jest zminimalizowana, czy nie?
- 22. Jak mogę sprawdzić, ile baterii zużywa moja aplikacja na Androida na urządzenia użytkownika?
- 23. Jak mogę sprawdzić, czy inna aplikacja zarejestrowała kanał Remoting IPC?
- 24. intent android, gdy moja aplikacja jest zainstalowana
- 25. Jak mogę sprawdzić, czy aplikacja działa na systemie Android?
- 26. Jak mogę sprawdzić, czy kolejka jest pusta?
- 27. Jak mogę sprawdzić, czy funkcja jest częściowa?
- 28. Jak mogę sprawdzić, czy Dispatcher.DisableProcessing jest aktywny?
- 29. Jak mogę sprawdzić, czy scenarzysta jest zamknięty?
- 30. Jak mogę sprawdzić, czy wartość jest liczbą?