VB6 - Keep application window on top of other apps

August 2017


VB6 - Keep application window on top of other apps



How to keep an application window on top of other applications?

In a general module


Public 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
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Const SWP_NOMOVE = 2
Public Const SWP_NOSIZE = 1

In the form


Private Sub Form_Load() 
Dim R as long
R = SetWindowPos(SheetName.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
end sub

Calling the function


The function must called upon the activation of the form. It will allow the program to resume the function if the form is selected (as the function may be used by other application).
Private Sub Form_Activate() 
Dim R as long
R = SetWindowPos(SheetName.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
end sub

Removing priority


Private sub SuppPriority() 
Dim R as long
R= SetWindowPos(NomFeuille.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End sub

Related


Published by netty5. Latest update on February 13, 2014 at 10:09 AM by jak58.
This document, titled "VB6 - Keep application window on top of other apps," is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (ccm.net).