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

Installation
Requires Node 4+
npm i @blacksuitdevelopers/node-process-windows-improved
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
- 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);
});
});
- Focus a window
var processWindows = require("node-process-windows");
var activeProcesses = processWindows.getProcesses(function(err, processes) {
var chromeProcesses = processes.filter(p => p.processName.indexOf("chrome") >= 0);
if(chromeProcesses.length > 0) {
processWindows.focusWindow(chromeProcesses[0]);
}
});
processWindows.focusWindow("chrome");
- 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
Current version - chesney@nyffels.be
Forked author - https://github.com/adamsoutar
Original author - extr0py@extropygames.com