Как проверить имеет ли сторее приложение фокус?

В C# можно проверить, имеет ли приложение фокус, используя класс System.Windows.Forms.Form и свойство Form.Focused.

1. Необходимо получить текущую активную форму. Для этого можно воспользоваться свойством Form.ActiveForm. Пример:

Form activeForm = Form.ActiveForm;

2. Затем проверить, имеет ли активная форма фокус, используя свойство Focused. Если Focused равно true, значит, приложение имеет фокус. Пример:

if (activeForm != null && activeForm.Focused)
{
    // Приложение имеет фокус
    // Добавьте здесь необходимые действия
}
else
{
    // Приложение не имеет фокус
    // Добавьте здесь необходимые действия
}

Обратите внимание, что чтобы правильно проверить фокус приложения, нужно убедиться, что активная форма не равна null. Если Form.ActiveForm вернет null, значит, активная форма отсутствует, и, следовательно, приложение не может иметь фокус. Поэтому перед проверкой на Focused, рекомендуется выполнить проверку на null.

Также обратите внимание, что этот подход подходит для формных приложений, если вы пишете консольное приложение или приложение без графического интерфейса, то этот метод проверки фокуса может не работать для вас.