Как определить сворачивание окна в Windows?
Ребят помогите, не могу найти
Как определить сворачивание или разворачивание окна в Windows?
Хочу, чтобы, если файлик сохранения перекидывали в папку там, то надо его подхватить, а для этого надо чекнуть когда окно свернулось и потом проверить...
Пс: немного не так сформулировал, как задетектить когда фокус на окне приложения пропадает или снова появляется?
Ответы (1 шт):
Автор решения: STmihan
→ Ссылка
У MonoBehavior есть метод OnApplicationFocus(bool). Можешь сделать синглтон и запихнуть в него такой код.
public class FocusChecker : MonoBehaviour
{
private static FocusChecker _instance;
public static bool IsFocused {get; private set;} = false;
public static Action<bool> OnFocusChange;
private void Awake()
{
if (_instance == this)
{
Destroy(gameObject);
return;
}
_instance = this;
DontDestroyOnLoad(gameObject);
}
private void OnApplicationFocus(bool hasFocus)
{
IsFocused = hasFocus;
OnFocusChange?.Invoke(hasFocus);
}
}
И потом просто обращаться к полю PauseChecker.IsPaused, если нужно узнать состояние, или к экшену OnFocusChange, если нужно поймать ивент