Методы Python для получения списка всех открытых окон (кросс-платформенный)

Чтобы получить список всех открытых окон в Python, вы можете использовать разные подходы в зависимости от операционной системы, с которой вы работаете. Вот несколько методов для разных платформ:

  1. Windows:

    • Вы можете использовать библиотеку pygetwindow, которая предоставляет кроссплатформенный API для управления окнами. Установите его с помощью pip install pygetwindow, а затем вы можете использовать следующий код:

      import pygetwindow as gw
      windows = gw.getAllTitles()
      print(windows)
  2. macOS:

    • Вы можете использовать платформу Quartzчерез библиотеку PyObjC. Установите его с помощью pip install pyobjc, а затем вы можете использовать следующий код:

      from Quartz import CGWindowListCopyWindowInfo, kCGWindowListOptionAll
      windows = CGWindowListCopyWindowInfo(kCGWindowListOptionAll, kCGNullWindowID)
      for window in windows:
       print(window["kCGWindowName"])
  3. Linux (X11):

    • Вы можете использовать библиотеку wnck, которая предоставляет интерфейс Python для конструктора оконного навигатора (WNCK). Установите его с помощью pip install wnck, а затем вы можете использовать следующий код:

      import wnck
      screen = wnck.screen_get_default()
      screen.force_update()
      windows = screen.get_windows()
      for window in windows:
       print(window.get_name())