https://github.com/131/node-winapi
Native windows api binding for nodejs
https://github.com/131/node-winapi
msdn nodejs screensaver uptime winapi
Last synced: about 2 months ago
JSON representation
Native windows api binding for nodejs
- Host: GitHub
- URL: https://github.com/131/node-winapi
- Owner: 131
- License: mit
- Created: 2016-02-06T10:00:57.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-03-04T11:25:44.000Z (about 1 year ago)
- Last Synced: 2024-11-02T06:08:54.729Z (7 months ago)
- Topics: msdn, nodejs, screensaver, uptime, winapi
- Language: C#
- Size: 574 KB
- Stars: 56
- Watchers: 6
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# winapi
Misc natives MS Windows API wrappers for nodejs & nwjs[](https://www.npmjs.com/package/winapi)
[](http://opensource.org/licenses/MIT)
[](https://www.npmjs.com/package/winapi) [](https://www.npmjs.com/package/winapi)
[](https://www.npmjs.com/package/eslint-plugin-ivs)# API
## require('winapi').getIdleTime()
Return the time the system has been idle (since last user interaction - e.g. mouse, keyboard & stuffs, see GetLastInputInfo)
This is really usefull if you want to create a screensaver/like in nodejs / node-webkit.```
var winapi = require('winapi');console.log("System is idle since %s", winapi.getIdleTime() );
```
## require('winapi').CreateJobGroup()
Create a [job group](https://docs.microsoft.com/fr-fr/windows/desktop/ProcThread/job-objects) with current process and all future child_process. Use this to kill zombies. Like Rick.```
var winapi = require('winapi');winapi.CreateJobGroup();
//you can now spawn subprocess and they'll be killed once you died, windows will clean everything up
```
* (checkout my [dispatcher](https://github.com/131/dispatcher) project for inspiration)
* Available for node 8, nw 26 and nw 14. (i did not re-compile other platform binaries, do it by yourself...)## require('winapi').GetLastInputInfo()
Use this native binding to get system last input time ([see MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/ms646302%28v=vs.85%29.aspx) )```
var winapi = require('winapi');console.log("Last input time is %s", winapi.GetLastInputInfo() );
setTimeout(function(){
//do not move, it wont change !
console.log("Last input time is %s", winapi.GetLastInputInfo() );
}, 1000);```
## require('winapi').GetChildrenProcess([parentProcessId])
List all children process (of specified parent PID, default to current process)## require('winapi').GetParentProcess([childProcessId])
Get a process parent PID (of specified process PID, default to current process)## require('winapi').GetTickCount()
Retrieves the number of milliseconds that have elapsed since the system was started (uptime). ([see MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408%28v=vs.85%29.aspx) )### require('winapi').GetDisplaysList(console.log)
List all connected screens# Credits
* [131](mailto:[email protected])
* Code signing, courtesy of IVS Group.# Keywords / shout box
screensaver, windows api, winuser.h, GetLastInputInfo, activity monitor, inactivity trigger, idle timer, system uptime, sytem bootime