Приложение, которое в настоящее время имеет фокус переднего плана, является единственным, которому разрешено изменять фокус переднего плана.Вам необходимо использовать функцию SetForegroundWindow
для реализации этого права.
Раздел «Замечания» в документации содержит соответствующий список ограничений:
Система ограничивает, какие процессы могут установить окно переднего плана.Процесс может установить окно переднего плана, только если выполняется одно из следующих условий:
- Процесс является процессом переднего плана.
- Процесс был запущен процессом переднего плана.
- Процесс получил последнее входное событие.
- Процесс переднего плана отсутствует.
- Процесс переднего плана отлаживается.
- Передний план не заблокирован (см.
LockSetForegroundWindow
). - Истекло время ожидания блокировки переднего плана (см.
SPI_GETFOREGROUNDLOCKTIMEOUT
in SystemParametersInfo
). - Нет активных меню.
Приложение не может заставить окно на передний план, пока пользователь работает с другим окном.Вместо этого Windows мигает кнопка панели задач окна, чтобы уведомить пользователя.
Реальный вопрос заключается в том, зачем вам это вообще нужно делать.Смена приложения переднего плана может привести к неприятностям либо со всеми ограничениями, которые накладывает на него Windows, либо с вашими пользователями.Это очень враждебное для пользователя действие, которое является одной из причин, по которым Windows ужесточает ограничения на него в последние годы.