当用户关注另一个应用程序时,如何在nodejs-webkit中创建事件?

时间:2014-12-30 16:16:50

标签: javascript windows node.js node-webkit

我想检测用户何时将焦点放在另一个应用程序上(例如谷歌浏览器),然后尽可能多地读入有关该应用程序的信息,标题,文件名,描述等

在Windows上实现这一目标最好的是什么?

1 个答案:

答案 0 :(得分:0)

window.onblur()是在您的node-webkit应用程序中实现该事件的事件监听器。

var spawn = require('child_process').spawn;
var Q = require("q");
var runCommand = function(cmd, args) {
        var deferred = Q.defer();
        var child = spawn(cmd, args);

        child.stdout.on('data', function (buffer) { 
            child.stdout += buffer.toString();
            deferred.notify();
        });

        child.stdout.on('end',function(){
            deferred.resolve(child.stdout);
        });

        child.stderr.on('data', function (data) {
            console.log('stderr: ' + data);
            deferred.reject(new Error("stdeerr: " + data));  
        });

        return deferred.promise;
    };



window.onblur=function(){
        runCommand(command, args).then(processOutputFunction,errorCallBack);

}

使用上面的代码段,您可以调用任何第三方库或powershell命令来获取所需的特定信息。关于Windows平台的重点,我建议你看一下https://superuser.com/questions/18383/preventing-applications-from-stealing-focus

无法进一步了解该细节