# List all opened windows on Windows - Python
Data Science for Political and Social Phenomena
Author: Guillaume Redoulès

# List all opened windows on Windows

You can use the function `get_all_windows` to get a dictonnary containing the titles of the opened windows as keys and the handles of those windows as values

    import win32gui

    def get_all_windows():
        """
        Returns dict with window desc and hwnd,
        """

        def _MyCallback( hwnd, extra ):
            hwnds, classes = extra
            hwnds.append(hwnd)
            classes[win32gui.GetWindowText(hwnd)] = hwnd
        windows = []
        classes = {}
        win32gui.EnumWindows(_MyCallback, (windows, classes))
        return classes

    get_all_windows()

    {'': 3802422,
     'Forcepad driver tray window': 65676,
     'Jauge de batterie': 131542,
     'Network Flyout': 131650,
     'Dashlane': 5570658,
     'Wox': 131770,
     'JupyterLab - Brave': 66990,
     'python': 4261478,
     'Visual Studio Code - Insiders': 329780,
     'Code - Insiders': 526478,
     'Documents': 526010,
     'Windows PowerShell': 198580,
     'Progression': 394934,
     'Microsoft Edge': 131586,
     'Microsoft Store': 197328,
     'QTrayIconMessageWindow': 327816,
     'Hidden Window': 459506,
     '.NET-BroadcastEventWindow.4.0.0.0.3e2c690.0': 131824,
     'SystemResourceNotifyWindow': 197346,
     'MediaContextNotificationWindow': 197344,
     'Resilio Sync 2.6.3': 262934,

}

    print("List of all opened windows : ")
    for key, value in get_all_windows().items():
        if key != "":
            print("\t* " + key.split("\n")[0])

    List of all opened windows :
        * Forcepad driver tray window
        * Jauge de batterie
        * Network Flyout
        * Dashlane
        * Wox
        * JupyterLab - Brave
        * python
        * Visual Studio Code - Insiders
        * Code - Insiders
        * Documents
        * Windows PowerShell
        * Progression
        * Microsoft Edge
        * Microsoft Store
        * QTrayIconMessageWindow
        * Hidden Window
        * .NET-BroadcastEventWindow.4.0.0.0.3e2c690.0
        * SystemResourceNotifyWindow
        * MediaContextNotificationWindow
        * Resilio Sync 2.6.3

### Find an error or bug? Have a suggestion?

Everything on this site is avaliable on GitHub. Head on over and submit an issue. You can also message me directly by email.