WindowInfo (install4j API)
Description: declaration: package: com.install4j.api.windows, class: WindowInfo

# Class WindowInfo

java.lang.Object
com.install4j.api.windows.WindowInfo

public class WindowInfo extends Object
Collection of methods to retrieve information about windows on Microsoft Windows.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getClassName()`
  Returns the window class name.
  `long`
  `getHwnd()`
  Returns the window handle.
  `int`
  `getStyle()`
  Returns the window style.
  `static Collection<WindowInfo>`
  `getTopLevelWindows(long processId)`
  Returns all visible top level windows of the process with the supplied process id.
  `String`
  `getWindowTitle()`
  Returns the window title.
  `static boolean`
  `isTabletMode()`
  Checks if Windows 10 is currently used in tablet mode.
  `String`
  `toString()`
  `static boolean`
  `waitForMaximizableWindow(File executablePath, long timeout, TimeUnit unit)`
  Wait until a process with the given path displays a maximizable window.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### getTopLevelWindows

    public static Collection<WindowInfo> getTopLevelWindows(long processId)
    Returns all visible top level windows of the process with the supplied process id.
    Parameters:
      `processId` - the process id
    Returns:
      the top level windows or an empty list if the process does not exist.

  - ### isTabletMode

    public static boolean isTabletMode()
    Checks if Windows 10 is currently used in tablet mode.
    Returns:
      `true` if tablet mode is activated

  - ### waitForMaximizableWindow

    public static boolean waitForMaximizableWindow(File executablePath, long timeout, TimeUnit unit)
    Wait until a process with the given path displays a maximizable window. When Windows is in tablet mode, you can use this method to delay the termination of an update downloader until a subsequently started installer can be displayed in full-screen mode.
    Parameters:
      `executablePath` - the executable path
      `timeout` - a timeout value or 0 if no timeout should occur
      `unit` - the unit of the timeout value
    Returns:
      `true` if a process with the given executable path was found that displays a maximizable window within the timeout period, `false` otherwise.

  - ### getHwnd

    public long getHwnd()
    Returns the window handle.
    Returns:
      the window handle

  - ### getStyle

    public int getStyle()
    Returns the window style. This is the style int retrieved with `GetWindowLongPtr` and `GWL_STYLE`.
    Returns:
      the style

  - ### getClassName

    public String getClassName()
    Returns the window class name.
    Returns:
      the class name

  - ### getWindowTitle

    public String getWindowTitle()
    Returns the window title.
    Returns:
      the title

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`