Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Const SWP_NOSIZE = &H1 Const SWP_NOMOVE = &H2 Const SWP_NOZORDER = &H4 Const SWP_NOREDRAW = &H8 Const SWP_NOACTIVATE = &H10 Const SWP_FRAMECHANGED = &H20 ' The frame changed: send WM_NCCALCSIZE Const SWP_SHOWWINDOW = &H40 Const SWP_HIDEWINDOW = &H80 Const SWP_NOCOPYBITS = &H100 Const SWP_NOOWNERZORDER = &H200 ' Don't do owner Z ordering Const SWP_DRAWFRAME = SWP_FRAMECHANGED Const SWP_NOREPOSITION = SWP_NOOWNERZORDER ' SetWindowPos() hwndInsertAfter values Const HWND_TOP = 0 Const HWND_BOTTOM = 1 Const HWND_TOPMOST = -1 Const HWND_NOTOPMOST = -2 Private Sub Command1_Click() 'Поверх всех окон Dim i i = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE) End Sub Private Sub Command2_Click() 'Не поверх всех окон Dim i i = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE) End Sub или проше: Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Const SWP_NOSIZE = &H1 Const SWP_NOMOVE = &H2 Const HWND_TOPMOST = -1 Private Sub Form_Load() Dim i i = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE) End Sub