-
Notifications
You must be signed in to change notification settings - Fork 7
/
index.js
69 lines (44 loc) · 1.53 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
'use strict';
var path = require('path');
var execFile = require('child_process').execFile;
var sprintf = require('util').format;
var winapi;
const opts = {
windowsHide : true,
};
var winapiCS = path.join(__dirname, 'WinAPI.exe');
try {
winapi = require('node-gyp-build')(__dirname);
} catch(e) {
console.log(e);
throw Error(sprintf("Compilation of winapi has failed and there is no pre-compiled binary available for your system. Please install a supported C++11 compiler and reinstall the module 'winapi' (missing %s)"));
}
winapi.GetDisplaySettings = function(chain) {
execFile(winapiCS, ["GetDisplaySettings"], opts, function(err, stdout) {
chain(err, JSON.parse(stdout));
});
};
winapi.ReOrientDisplay = function(orientation, chain) {
execFile(winapiCS, ["ReOrientDisplay", orientation], opts, chain);
};
winapi.MaximizeWindow = function(title, chain) {
execFile(winapiCS, ["MaximizeWindow", title], chain);
};
winapi.MinimizeWindow = function(title, chain) {
execFile(winapiCS, ["MinimizeWindow", title], opts, chain);
};
winapi.HideWindow = function(title, chain) {
execFile(winapiCS, ["HideWindow", title], opts, chain);
};
winapi.ShowWindow = function(title, chain) {
execFile(winapiCS, ["ShowWindow", title], chain);
};
winapi.GetDisplaysList = function(chain) {
execFile(winapiCS, ["GetDisplaysList"], opts, function(err, stdout) {
chain(err, JSON.parse(stdout));
});
};
winapi.getIdleTime = function() {
return winapi.GetTickCount() - winapi.GetLastInputInfo();
};
module.exports = winapi;