ABOUT
Robot is a simple cross-platform library designed to facilitate the development of system automation software. The library works by abstracting away all platform-specific differences into a single, robust API compatible with most desktop operating systems. The API is available in both C++ and Node flavors and supports Windows, Mac and some distributions of Linux. Robot is production-proven with no additional dependencies, it is powerful enough to be the primary tool for many professionals yet simple enough for learning and experimentation.
FEATURES
- General
- Support for 32 and 64-bit systems
- Vast and feature-rich helper library
- Access to native monotonic clocks
- Clipboard manipulation capabilities
- Input
- Keyboard and mouse event synthesis
- Async key and mouse state retrieval
- Process
- Enumerate and query system windows
- Enumerate and query system processes
- Enumerate and query process modules
- Enumerate and query module segments
- Manipulate processes and windows
- Access to low-level system handles
- Memory
- Enumerate and query memory regions
- Set memory region access attributes
- Manipulate the memory of a process
- Advanced memory caching algorithms
- General purpose signature scanning
- Screen
- Enumerate and query system screens
- Screen and window image capturing
- Windows Aero manipulation capabilities
USAGE
QUICK START
Here's a quick 30-second demo of Robot for Node.js. Some things of note, yes this is JavaScript and yes it's fast. You can do all sorts of neat things with it and you have the full backing of the entire JavaScript community! If you need a UI, there's always the browser, among other things :-D
Code:
npm install robot-js
Code:
var robot = require ("robot-js");
var keyboard = robot.Keyboard();
// Type on keyboard: "Hello ROBOT!"
keyboard.click ("+hello +(ROBOT1)");
// Set mouse cursor position
robot.Mouse.setPos (10, 20);
// Print all processes running on system
var processes = robot.Process.getList();
for (var i = 0; i < processes.length; ++i)
console.log (processes[i].getName());