跳到主要内容

screen

检索有关屏幕尺寸、显示器、光标位置等的信息。

进程: 主进程

此模块只有在 app 模块的 ready 事件发出后才能使用。

screen 是一个 EventEmitter

注意: 在渲染器 / DevTools 中,window.screen 是一个保留的 DOM 属性,因此编写 let { screen } = require('electron') 将不起作用。

创建一个填充整个屏幕的窗口的示例

// Retrieve information about screen size, displays, cursor position, etc.
//
// For more info, see:
// https://electron.js.cn/docs/latest/api/screen

const { app, BrowserWindow, screen } = require('electron/main')

let mainWindow = null

app.whenReady().then(() => {
// Create a window that fills the screen's available work area.
const primaryDisplay = screen.getPrimaryDisplay()
const { width, height } = primaryDisplay.workAreaSize

mainWindow = new BrowserWindow({ width, height })
mainWindow.loadURL('https://electron.js.cn')
})

在外部显示器中创建窗口的另一个示例

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

let win

app.whenReady().then(() => {
const displays = screen.getAllDisplays()
const externalDisplay = displays.find((display) => {
return display.bounds.x !== 0 || display.bounds.y !== 0
})

if (externalDisplay) {
win = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
})
win.loadURL('https://github.com')
}
})

事件

screen 模块发出以下事件

事件: 'display-added'

返回

newDisplay 被添加时发出。

事件: 'display-removed'

返回

oldDisplay 被移除时发出。

事件: 'display-metrics-changed'

返回

  • event 事件
  • display Display
  • changedMetrics string[]

display 中的一个或多个指标发生更改时发出。 changedMetrics 是一个描述更改的字符串数组。可能的更改是 boundsworkAreascaleFactorrotation

方法

screen 模块具有以下方法

screen.getCursorScreenPoint()

返回 Point

鼠标指针的当前绝对位置。

注意: 返回值是一个 DIP 点,而不是屏幕物理点。

screen.getPrimaryDisplay()

返回 Display - 主显示器。

screen.getAllDisplays()

返回 Display[] - 当前可用的显示器数组。

screen.getDisplayNearestPoint(point)

返回 Display - 最靠近指定点的显示器。

screen.getDisplayMatching(rect)

返回 Display - 最接近相交于提供的边界的显示器。

screen.screenToDipPoint(point) Windows

返回 Point

将屏幕物理点转换为屏幕 DIP 点。 DPI 缩放相对于包含物理点的显示器执行。

screen.dipToScreenPoint(point) Windows

返回 Point

将屏幕 DIP 点转换为屏幕物理点。 DPI 缩放相对于包含 DIP 点的显示器执行。

screen.screenToDipRect(window, rect) Windows

返回 Rectangle

将屏幕物理矩形转换为屏幕 DIP 矩形。 DPI 缩放相对于最靠近 window 的显示器执行。 如果 window 为 null,则缩放将相对于最靠近 rect 的显示器执行。

screen.dipToScreenRect(window, rect) Windows

返回 Rectangle

将屏幕 DIP 矩形转换为屏幕物理矩形。 DPI 缩放相对于最靠近 window 的显示器执行。 如果 window 为 null,则缩放将相对于最靠近 rect 的显示器执行。