/node-process-windows

Manage application windows via a Node API - set focus, cycle active windows, and get active windows

Primary LanguageC#MIT LicenseMIT

node-node-process-windows

Manage application windows via a Node API - set focus, cycle active windows and get active windows

JavaScript Style Guide

Installation

Requires Node 4+

    npm install node-process-windows

This module is not supported in browsers.

Supported Platforms

Currently, this module is supported on Windows, and has partial support (only active window) for macOS. It uses a .NET console app on Windows, and AppleScript on macOS.

Pull requests are welcome - it would be great to have more of this API work cross-platform.

Usage

  1. Get active processes
    var processWindows = require("node-process-windows");

    var activeProcesses = processWindows.getProcesses(function(err, processes) {
        processes.forEach(function (p) {
            console.log("PID: " + p.pid.toString());
            console.log("MainWindowTitle: " + p.mainWindowTitle);
            console.log("ProcessName: " + p.processName);
        });
    });
  1. Focus a window
    var processWindows = require("node-process-windows");

    // Focus window by process...
    var activeProcesses = processWindows.getProcesses(function(err, processes) {
        var chromeProcesses = processes.filter(p => p.processName.indexOf("chrome") >= 0);

        // If there is a chrome process active, focus the first window
        if(chromeProcesses.length > 0) {
            processWindows.focusWindow(chromeProcesses[0]);
        }
    });

    // Or focus by name
    processWindows.focusWindow("chrome");
  1. Get active window
    var processWindows = require("node-process-windows");

    var currentActiveWindow = processWindows.getActiveWindow((err, processInfo) => {
        console.log("Active window title: " + processInfo.mainWindowTitle);
    });

Contributing

Pull requests are welcome

License

MIT License

Contact

Original author - extr0py@extropygames.com