Electron:如何从 BrowserWindow 获取屏幕?

Hyu*_*Lee 6 javascript electron

我想知道BrowserWindow两个或多个屏幕的位置。我猜 Electron API 没有给出方法。我怎样才能做到这一点?有什么办法或者办法吗??

m4h*_*shd 7

没有直接的方法可以实现这一点。但以下绝对可以达到您的目的。

const {BrowserWindow, screen} = require('electron');

let window = new BrowserWindow();

// Load a URL and show the window first

const winBounds = window.getBounds();
const whichScreen = screen.getDisplayNearestPoint({x: winBounds.x, y: winBounds.y});
// Returns the screen where your window is located
Run Code Online (Sandbox Code Playgroud)

经测试,这是有效的。


小智 0

Electron 定义了一个屏幕API,其中包含 screen.getAllDisplays() 方法,该方法返回当前可用的Display对象数组。

我想您必须遍历显示列表,获取它们的边界并检查它们是否与您的窗口自己的边界相交。或者也许使用 workArea 属性?不幸的是,我只有一台显示器,所以我无法检查它是如何工作的......