screen

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

进程:主进程

This module cannot be used until the ready event of the app module is emitted.

screen 是一个 EventEmitter.

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

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

```javascript fiddle=’docs/fiddles/screen/fit-screen’ const { app, BrowserWindow, screen } = require(‘electron’)

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

  1. <br />Another example of creating a window in the external display:
  2. ```javascript
  3. const { app, BrowserWindow, screen } = require('electron')
  4. let win
  5. app.on('ready', () => {
  6. let displays = screen.getAllDisplays()
  7. let externalDisplay = displays.find((display) => {
  8. return display.bounds.x !== 0 || display.bounds.y !== 0
  9. })
  10. if (externalDisplay) {
  11. win = new BrowserWindow({
  12. x: externalDisplay.bounds.x + 50,
  13. y: externalDisplay.bounds.y + 50
  14. })
  15. win.loadURL('https://github.com')
  16. }
  17. })

事件

screen模块触发以下事件:

Event: ‘display-added’

返回:

当新的窗口newDisplay被添加的时候触发。

Event: ‘display-removed’

返回:

当旧的窗口oldDisplay被移除的时候触发。

Event: ‘display-metrics-changed’

返回:

  • event Event
  • display Display
  • changedMetrics String[]

display中的一个或多个值发生改变时发出。 changedMetrics是描述更改信息的字符串数组。 可能改变的值有bounds, workArea, scaleFactorrotation.

方法

screen模块有以下方法:

screen.getCursorScreenPoint()

返回 Point

当前鼠标的绝对位置。

screen.getPrimaryDisplay()

返回主窗口Display

screen.getAllDisplays()

返回一个窗口数组Display[],表示当前可用的窗口。

screen.getDisplayNearestPoint(point)

返回离指定点最近的一个窗口Display

screen.getDisplayMatching(rect)

返回离指定的图形最密切相交一个窗口Display

screen.screenToDipPoint(point) Windows

返回 Point

Converts a screen physical point to a screen DIP point. The DPI scale is performed relative to the display containing the physical point.

screen.dipToScreenPoint(point) Windows

返回 Point

Converts a screen DIP point to a screen physical point. The DPI scale is performed relative to the display containing the DIP point.

screen.screenToDipRect(window, rect) Windows

返回 Rectangle

Converts a screen physical rect to a screen DIP rect. The DPI scale is performed relative to the display nearest to window. If window is null, scaling will be performed to the display nearest to rect.

screen.dipToScreenRect(window, rect) Windows

返回 Rectangle

Converts a screen DIP rect to a screen physical rect. The DPI scale is performed relative to the display nearest to window. If window is null, scaling will be performed to the display nearest to rect.