我想检测用户何时将焦点放在另一个应用程序上(例如谷歌浏览器),然后尽可能多地读入有关该应用程序的信息,标题,文件名,描述等
在Windows上实现这一目标最好的是什么?
答案 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。
无法进一步了解该细节