WinProcesses (install4j help)
Date: 2010-09-29

## install4j API documentation

## com.install4j.api.windows
Class WinProcesses

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

    public class WinProcesses

extends java.lang.Object

Collection of static methods to check for running processes and terminate them.

Author:
  ej-technologies GmbH

Nested Class Summary
`static class` | `WinProcesses.Info` Class that holds information about running processes.

Constructor Summary
`WinProcesses()`

Method Summary
`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 VM_CLOSE message to all visible top-level windows.
`static WinProcesses.Info[]` | `getRunningProcesses()` Get a list of all running processes the installer can open.
`static java.lang.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 java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WinProcesses

    public WinProcesses()

Method Detail

### getRunningProcesses

    public static WinProcesses.Info[] getRunningProcesses()

  Get a list of all running processes the installer can open.

  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 java.lang.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 VM_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.