Prevent an iconized window from being restored

Prevent an iconized window from being restored

When the user clicks on an iconized (minimized) form in the taskbar, Windows sends that form a WM_QUERYOPEN message, and inspects the value returned to the operating system. If this value is zero, the operation is canceled.

Using subclassing you can therefore determine when a form is about to be restored, and you can also refuse to restore it by returning 0. Here is a code snippet that does the trick:

' REQUIRES THE MSGHOOK.DLL COMPONENT'' you can omit the following constant definition, ' because it is contained in the MsgHook type libraryConst WM_QUERYOPEN = &H13Dim WithEvents FormHook As MsgHookPrivate Sub Form_Load()    ' start form subclassing     Set FormHook = New MsgHook    FormHook.StartSubclass hWndEnd SubPrivate Sub FormHook_AfterMessage(ByVal uMsg As Long, ByVal wParam As Long, _    ByVal lParam As Long, retValue As Long)    If uMsg = WM_QUERYOPEN Then        ' The iconized form is being restored.        ' ...        ' Uncomment the next line to prevent the window from being restored.        ' retValue = False    End IfEnd Sub


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist