屏幕
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
objectid
Integer - 与显示相关联的唯一标识符。rotation
Integer - 可选0
,1
,2
,3
, 每个代表顺时针方向的屏幕旋转角度, 可选0
,90
,180
,270
。scaleFactor
Number -输出设备的像素比例因子。touchSupport
String - 是否支持触摸,可选available
,unavailable
,unknown
.bounds
Object Rectanglesize
Objectheight
Numberwidth
Number
workArea
RectangleworkAreaSize
Objectheight
Numberwidth
Number
事件
事件: 'display-added'
触发:添加
newDisplay
显示器时
event
EventnewDisplay
Display
事件: 'display-removed'
触发:移除
oldDisplay
显示器时
event
EventoldDisplay
Display
事件: 'display-metrics-changed'
触发:更改
display
中的一个或多个度量时
event
Eventdisplay
DisplaychangedMetrics
String[] 描述变化的字符串数组。可选bounds
,workArea
,scaleFactor
和rotation
。
方法
screen.getCursorScreenPoint()
用途:获取当前鼠标指针坐标(
Object
)
x
Integery
Integer
screen.getPrimaryDisplay()
用途:获取当前主显示屏(
Display
)
screen.getAllDisplays()
用途:获取所有可用显示屏组成的数组(
Display
)
screen.getDisplayNearestPoint(point)
用途:获取离指定点最近的显示屏(
Display
)
point
Objectx
Integery
Integer
screen.getDisplayMatching(rect)
用途:获取与提供的边界最接近的显示屏(
Display
)
rect
Rectangle