我的动机:我正在编写一个应用来帮助处理一些量化的自我/时间跟踪类型的事情。我想用电子来记录我目前使用的应用程序的信息。
有没有办法在Electron中获取有关其他应用的信息?你能否至少提取一下目前关注的另一个应用程序的信息?例如,如果用户正在浏览Chrome中的网页,那么很高兴知道A)他们使用chrome和B)他们正在查看的网页的标题。
在我的研究中,我发现了这个问题: Which app has the focus when a global shortcut is triggered
看起来作者正在使用nodObjc库来获取OSX上的这些信息。除了其他人用来解决这个问题的方法之外,我特别好奇电子本身是否有办法在不借助外部图书馆的情况下暴露这些信息。
答案 0 :(得分:5)
在有限的方面,是的,你可以使用电子的desktopCapturer.getSources()方法获得一些信息。
这不会让每台程序在机器上运行。这只会让铬认为是视频可捕获的来源。这通常等同于具有GUI窗口的活动程序(例如,在窗口上的任务栏上)。
desktopCapturer.getSources({
types: ['window', 'screen']
}, (error, sources) => {
if (error) throw error
for (let i = 0; i < sources.length; ++i) {
log(sources[i]);
}
});
答案 1 :(得分:1)