Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
В соответствии с этими изменениями, приложение не может поместить окно на передний план, если пользователь работает с другим окном. Вместо этого SetForegroundWindow активизирует окно (см. SetActiveWindow) и вызывает функцию FlashWindowEx для оповещения пользователя. Кроме того, в Windows 98, в случае, если неведущий поток вызывает SetForegroundWindow и передает ей дескриптор окна, созданного другим потоком, окно не будет мигать на панели задач. Процесс, способный устанавливать окна на передний план, может передать эту возможность другому процессу с помощью функции AllowSetForegroundWindow. Процесс, идентификатор которого указан в параметре dwProcessId теряет возможность устанавливать окна на передний план при получении пользовательского ввода, пока он направлен на этот процесс, либо до следующего вызова AllowSetForegroundWindow применительно к этому процессу. Ведущий процесс может заблокировать использование SetForegroundWindow вызвав функцию LockSetForegroundWindow
В случае успеха функция возвращает ненулевое значение, в случае ошибки возвращается 0
Dim retval As Long ' возвращаемое значение
' Устанавливаем окно Form1 текущим приоритетным окном
retval = SetForegroundWindow(Form1.hWnd)