Поделиться через


Функция AllowSetForegroundWindow (winuser.h)

Позволяет указанному процессу задать окно переднего плана с помощью функции SetForegroundWindow . Вызывающий процесс уже должен иметь возможность задать окно переднего плана. Дополнительные сведения см. в подразделе «Примечания» далее в этом разделе.

Синтаксис

BOOL AllowSetForegroundWindow(
  [in] DWORD dwProcessId
);

Параметры

[in] dwProcessId

Тип: DWORD

Идентификатор процесса, который будет включен для задания окна переднего плана. Если этот параметр ASFW_ANY, все процессы будут включены для задания окна переднего плана.

Возвращаемое значение

Тип: BOOL

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Функция завершится ошибкой, если вызывающий процесс не может задать окно переднего плана. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Система ограничивает, какие процессы могут задавать окно переднего плана. Как правило, процесс может задать окно переднего плана, вызывая функцию SetForegroundWindow , только если:

  • Выполняются все следующие условия:
    • Процесс вызова принадлежит классическому приложению, а не приложению UWP или приложению Магазина Windows, предназначенному для Windows 8 или 8.1.
    • Процесс переднего плана не отключил вызовы SetForegroundWindow предыдущим вызовом функции LockSetForegroundWindow .
    • Истекло время ожидания блокировки переднего плана (см . SPI_GETFOREGROUNDLOCKTIMEOUT в SystemParametersInfo).
    • Меню не активны.
  • Кроме того, выполняется по крайней мере одно из следующих условий:
    • Вызывающий процесс является процессом переднего плана.
    • Процесс вызова был запущен процессом переднего плана.
    • В настоящее время отсутствует окно переднего плана и, следовательно, процесс переднего плана.
    • Вызывающий процесс получил последнее событие ввода.
    • Выполняется отладка процесса переднего плана или вызывающего процесса.

Процесс, который может задать окно переднего плана, может позволить другому процессу задать окно переднего плана путем вызова AllowSetForegroundWindow. Процесс, заданный параметром dwProcessId , теряет возможность задать окно переднего плана при следующем вводе, если только входные данные не направлены на этот процесс, или когда процесс в следующий раз вызывает AllowSetForegroundWindow, если не указан тот же процесс, что и в предыдущем вызове AllowSetForegroundWindow.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-window-l1-1-0 (появилось в Windows 8)

См. также раздел

Основные понятия

LockSetForegroundWindow

Справочные материалы

SetForegroundWindow

Windows