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

# Class WinProcesses

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

public class WinProcesses extends Object
Collection of static methods to check for running processes on Windows and terminate them.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `WinProcesses.Info`
  Class that holds information about running Windows processes.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WinProcesses()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `areInstalledLaunchersRunning()`
  Determine if any of the installed launchers are currently running.
  `static boolean`
  `closeProcesses(int[] processIds, int timeout)`
  Tries to close the processes with the given ids by sending a WM_CLOSE message to all visible top-level windows.
  `static WinProcesses.Info[]`
  `getRunningProcesses()`
  Get a list of all running processes the installer can see.
  `static String`
  `getWindowTitle(int processId)`
  Get the title of one of the visible top-level windows of this process.
  `static boolean`
  `terminateProcesses(int[] processIds)`
  Terminates the processes with the given ids forcefully.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### WinProcesses

    public WinProcesses()

- ## Method Details

  - ### getRunningProcesses

    public static WinProcesses.Info[] getRunningProcesses()
    Get a list of all running processes the installer can see.
    Returns:
      info objects with module name and process id.

  - ### areInstalledLaunchersRunning

    public static boolean areInstalledLaunchersRunning()
    Determine if any of the installed launchers are currently running. All launchers in the currently set installation directory are checked. The "Install Files" action performs this check by default and warns the user that processes are running. With this method, you can check for this condition earlier in your installer.
    Returns:
      `true` or `false`.

  - ### getWindowTitle

    public static String getWindowTitle(int processId)
    Get the title of one of the visible top-level windows of this process.
    Parameters:
      `processId` - the process id
    Returns:
      the title

  - ### terminateProcesses

    public static boolean terminateProcesses(int[] processIds)
    Terminates the processes with the given ids forcefully.
    Parameters:
      `processIds` - the processes to terminate
    Returns:
      `true` if all processes have been terminated.

  - ### closeProcesses

    public static boolean closeProcesses(int[] processIds, int timeout)
    Tries to close the processes with the given ids by sending a WM_CLOSE message to all visible top-level windows.
    Parameters:
      `processIds` - the processes to terminate
      `timeout` - the maximum time to wait for the processes to terminate after the message has been sent in milliseconds
    Returns:
      `true` if all processes have been terminated.