Функция SetForegroundWindow

Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

SetForegroundWindow делает указанное окно окном переднего плана и передает ему фокус. Окном на переднем плане называется окно, расположенное на вершине Z-порядка. Это окно, с которым в данный момент работает пользователь. Система создает ограничения для процессов, пытающихся установить окно на передний план. Процесс может установить окно на передний план только если выполняется одно из следующих условий:

В соответствии с этими изменениями, приложение не может поместить окно на передний план, если пользователь работает с другим окном. Вместо этого SetForegroundWindow активизирует окно (см. SetActiveWindow) и вызывает функцию FlashWindowEx для оповещения пользователя. Кроме того, в Windows 98, в случае, если неведущий поток вызывает SetForegroundWindow и передает ей дескриптор окна, созданного другим потоком, окно не будет мигать на панели задач. Процесс, способный устанавливать окна на передний план, может передать эту возможность другому процессу с помощью функции AllowSetForegroundWindow. Процесс, идентификатор которого указан в параметре dwProcessId теряет возможность устанавливать окна на передний план при получении пользовательского ввода, пока он направлен на этот процесс, либо до следующего вызова AllowSetForegroundWindow применительно к этому процессу. Ведущий процесс может заблокировать использование SetForegroundWindow вызвав функцию LockSetForegroundWindow

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

В случае успеха функция возвращает ненулевое значение, в случае ошибки возвращается 0

Параметры

hwnd
Дескриптор окна, назначаемое окном переднего плана

Пример

Dim retval As Long ' возвращаемое значение
' Устанавливаем окно Form1 текущим приоритетным окном
retval = SetForegroundWindow(Form1.hWnd)

Смотри также

GetForegroundWindow, SetActiveWindow

Категория

Окна