屏幕

优质
小牛编辑
152浏览
2023-12-01

screen 模块用于检索有关屏幕大小,显示,光标位置等的信息 进程: 主进程 渲染进程

screen 是一个 EventEmitter.
注意: app模块必须用在 ready事件后.
注意: 在渲染进程或开发者工具栏中, window.screen 是一个预设值的 DOM属性, 所以 var screen = require('electron').screen 这样写的话是无效的.
创建一个全屏窗口的例子 :
1
const electron = require('electron')
2
const {app, BrowserWindow} = electron
3

4
let win
5

6
app.on('ready', () => {
7
const {width, height} = electron.screen.getPrimaryDisplay().workAreaSize
8
win = new BrowserWindow({width, height})
9
win.loadURL('https://github.com')
10
})
Copied!

在外部显示器中创建窗口的另一个示例:
1
const electron = require('electron')
2
const {app, BrowserWindow} = require('electron')
3

4
let win
5

6
app.on('ready', () => {
7
let displays = electron.screen.getAllDisplays()
8
let externalDisplay = displays.find((display) => {
9
return display.bounds.x !== 0 || display.bounds.y !== 0
10
})
11

12
if (externalDisplay) {
13
win = new BrowserWindow({
14
x: externalDisplay.bounds.x + 50,
15
y: externalDisplay.bounds.y + 50
16
})
17
win.loadURL('https://github.com')
18
}
19
})
Copied!

Display 对象

Display对象表示连接到系统的物理显示器。虚拟 Display 可以存在于无头系统上, Display 也可以是对应于远程的虚拟显示器。

  • display object

    • id Integer - 与显示相关联的唯一标识符。

    • rotation Integer - 可选 0, 1, 2, 3, 每个代表顺时针方向的屏幕旋转角度, 可选 0, 90, 180, 270

    • scaleFactor Number -输出设备的像素比例因子。

    • touchSupport String - 是否支持触摸,可选 available, unavailable, unknown.

    • bounds Object Rectangle

    • size Object

      • height Number

      • width Number
    • workArea Rectangle

    • workAreaSize Object

      • height Number

      • width Number

事件

事件: 'display-added'

触发:添加 newDisplay显示器时

事件: 'display-removed'

触发:移除 oldDisplay显示器时

事件: 'display-metrics-changed'

触发:更改 display 中的一个或多个度量时

  • event Event

  • display Display

  • changedMetrics String[] 描述变化的字符串数组。可选 bounds, workArea, scaleFactorrotation

方法

screen.getCursorScreenPoint()

用途:获取当前鼠标指针坐标( Object)

  • x Integer

  • y Integer

screen.getPrimaryDisplay()

用途:获取当前主显示屏(Display)

screen.getAllDisplays()

用途:获取所有可用显示屏组成的数组(Display)

screen.getDisplayNearestPoint(point)

用途:获取离指定点最近的显示屏(Display)

  • point Object

    • x Integer

    • y Integer

screen.getDisplayMatching(rect)

用途:获取与提供的边界最接近的显示屏(Display)