爱吃面包的巨人 2024-07-19 10:31 采纳率: 33.3%
浏览 93

electron屏幕共享获取所有打开应用程序信息

electron屏幕共享获取所有打开应用程序列表信息;

使用electron API desktopCapturer.getSources


 desktopCapturer.getSources({ types: ['window', 'screen'] }).then((sources) => { })

```**


只能获取到打开的窗口,无法获取到最小化的应用窗口;

需求:**获取所有窗口信息(桌面打开的窗口和任务栏最小化的窗口)**

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-07-19 10:32
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    要实现这个需求,可以使用getSources()方法从desktopCapturer对象中获取所有来源。但是,这种方法只能获取到打开的窗口,并不能获取到最小化的应用窗口。

    为了解决这个问题,我们可以稍微改变一下上面的代码:

    const desktopCapturer = require('electron').DesktopCapturer;
    
    // 获取当前活动窗口的信息
    let activeWindowInfo = await desktopCapturer.getSources({ types: ['window'] });
    
    console.log(`当前活动窗口: ${activeWindowInfo.name}`);
    

    在这个版本的代码中,我们创建了一个新的Promise来等待返回源数据。这个Promise只有在getSources()方法成功执行时才会解析,并且会包含一个数组,其中包含了所有被发现的来源。

    这样,我们就得到了当前活动窗口和所有其他打开的应用程序窗口的信息了。

    至于最小化的应用窗口,由于它们是在任务栏或者全屏模式下运行的,所以getSources()方法并不能获取到它们的信息。如果你需要处理这种情况,你可能需要自己编写一个额外的方法来获取这些信息。

    请注意,你需要确保你的项目已经安装了electron模块。如果没有,你可以通过以下命令来安装它:

    npm install electron --save-dev
    
    评论

报告相同问题?

问题事件

  • 创建了问题 7月19日