首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

屏幕 | screen

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

过程:Main, Renderer

readyapp发射模块事件之前,您不能要求或使用此模块。

screen是一个EventEmitter

注意:在renderer/DevTools中,window.screen是一个保留的DOM属性,所以写入let {screen} = require('electron')不起作用。

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

代码语言:javascript
复制
const electron = require('electron')
const {app, BrowserWindow} = electron

let win

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

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

代码语言:javascript
复制
const electron = require('electron')
const {app, BrowserWindow} = require('electron')

let win

app.on('ready', () => {
  let displays = electron.screen.getAllDisplays()
  let 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'

返回:

  • event事件
  • newDisplay显示

newDisplay已添加时发射。

事件:'display-removed'

返回:

  • event事件
  • oldDisplay显示

oldDisplay已被删除时发射。

事件:'display-metrics-changed'

返回:

  • event事件
  • display显示
  • changedMetricsString[]

当一个或多个指标发生变化时发射display。这changedMetrics是描述更改的字符串数组。可能发生的变化是boundsworkAreascaleFactorrotation

方法

screen模块具有以下方法:

screen.getCursorScreenPoint()

返回 Point

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

screen.getMenuBarHeight()MacOS

返回Integer- 菜单栏的高度(以像素为单位)。

screen.getPrimaryDisplay()

回报Display-主显示器。

screen.getAllDisplays()

返回Display[]- 当前可用的一系列显示。

screen.getDisplayNearestPoint(point)

  • point点返回Display- 距离指定点最近的显示。screen.getDisplayMatching(rect)
  • rect长方形

返回Display- 与提供的边界最接近的显示。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com