Getting information about active/open windows.

Posted on 1998-07-18
Last Modified: 2010-05-03
Is there a way of getting information about active/open windows.  Say, I have five windows open.   From which 3 are maximized or original size and 2 are minimized.  Is there a way of getting info about the windows which are maximized/original size either when active or not?  If so how would I find out the info.  Please send me code.  Thanks.
What I want is to be able to shake those open/maximized windows.  So, say from those 5 windows, 3 are open and are shaking.  If I close/minimize one window, well..shouldn't shake and if I maximize or restore or open a new program, the window should start shaking.
Send the code please.
Question by:kermit007

Expert Comment

ID: 1466161
What exactly do you mean by 'Shake'?

Author Comment

ID: 1466162
make them move around.  sort of like in a shaking pattern only random.

Expert Comment

ID: 1466163
Do you mean windows only in your VB application, or windows in all applications currently running?

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.


Author Comment

ID: 1466164
I mean all the application windows.  I know there is a way to do it.  I have seen it done, just don't know how to do it.

Accepted Solution

Dalin earned 200 total points
ID: 1466165
Try the follow function. Let me know if you have problems.

Declare Function GetActiveWindow Lib "user32" () As Long

Declare Function GetParent Lib "user32" (ByVal Hwnd As Long) As Long

Declare Function ShowWindow Lib "user32" (ByVal Hwnd As Long, ByVal
       nCmdShow As Long) As Long

Declare Function IsIconic Lib "user32" (ByVal Hwnd As Long) As Long

Declare Function IsZoomed Lib "user32" (ByVal Hwnd As Long) As Long

Declare Function MoveWindow Lib "user32" (ByVal Hwnd As Long, ByVal X As
       Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long,
       ByVal bRepaint As Long) As Long
       Public Const SW_MAXIMIZE = 3
       Public Const SW_SHOWNORMAL = 1
       Public Const SW_SHOWMINIMIZED = 2

Function AccessMaximize()
       AccessMaximize = ShowWindow(GetAccesshWnd(), SW_MAXIMIZE)
End Function

Function AccessMinimize()      
       AccessMinimize = ShowWindow(GetAccesshWnd(), SW_SHOWMINIMIZED)
End Function

Function AccessMoveSize(iX As Long, iY As Long, iWidth As Long, iHeight
       As Long)
       MoveWindow GetAccesshWnd(), iX, iY, iWidth, iHeight, True
End Function

Function AccessRestore()
       AccessRestore = ShowWindow(GetAccesshWnd(), SW_SHOWNORMAL)
End Function

Function GetAccesshWnd()
       Dim Hwnd As Long
       Dim hWndAccess As Long
       Hwnd = GetActiveWindow()' Get the handle to the currently active window.
       hWndAccess = Hwnd

              While Hwnd <> 0 ' Find the top window
                     without a parent window.
                     hWndAccess = Hwnd
                     Hwnd = GetParent(Hwnd)

       GetAccesshWnd = hWndAccess
End Function

Function IsAccessMaximized()

              If IsZoomed(GetAccesshWnd()) = 0 Then
                     IsAccessMaximized = False
                     IsAccessMaximized = True
              End If

End Function

Function IsAccessMinimized()

              If IsIconic(GetAccesshWnd()) = 0 Then
                     IsAccessMinimized = False
                     IsAccessMinimized = True
              End If

End Function

Function IsAccessRestored()

              If IsAccessMaximized() = False And IsAccessMinimized() = False Then
                     IsAccessRestored = True
                     IsAccessRestored = False
              End If

End Function


Author Comment

ID: 1466166
Thanks Dalin. :)
If I have any problems, I'll come back.  Thanks

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Added a column screws up code 5 63
Zip Folders Using Chilkat Routines 1 58
Formula problem with Excel attachment 6 38
Sub or Function is not defined 6 43
Introduction In a recent article ( for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question