У меня есть приложение, которое будет работать в основном в фоновом режиме. Я хочу, чтобы определенные системные события, которые он обрабатывает, заставляли приложение фокусироваться на приложении переднего плана, что бы это ни было. Но UIElement.Focus (), кажется, только устанавливает фокус в приложении WPF. То есть, если приложение WPF уже имеет фокус в целом, тогда Focus () устанавливает фокус на правильный элемент управления. Но мне нужно украсть фокус из другого приложения и поместить его в мое приложение. Как я могу это сделать?
Я не хочу системный модальный диалог. То есть после того, как окно перехватывает фокус, у пользователя должна быть возможность немедленно переключиться на другое приложение, не закрывая окно моего приложения.
Возможно, приложение уже было в восстановленном, свернутом или даже в состоянии «свернуть в трей», когда ему нужно украсть системный фокус. Поэтому предполагать, что оно минимизировано, и кража фокуса при восстановлении окна недопустима.