使用 Electron screen 模块可对屏幕进行相关操作
screen
模块检索屏幕的 size,显示,鼠标位置等的信息,在 app
模块的ready
事件触发之前不可使用这个模块.
注意: 在渲染进程 / 开发者工具栏, window.screen
是一个预设值的 DOM 属性, 所以这样写 var screen = require('electron').screen
将不会工作. 在我们下面的例子, 我们取代使用可变名字的 electronScreen
. 一个例子,创建一个充满真个屏幕的窗口 :
import { app, protocol, BrowserWindow, screen } from 'electron'
function createWindow () {
// Create the browser window.
let size = screen.getPrimaryDisplay().workAreaSize
let width = parseInt(size.width * 0.9)
let height = parseInt(size.height * 0.9)
win = new BrowserWindow({
show: false,
width: width,
height: height,
backgroundColor: '#f0eff4',
webPreferences: {
webSecurity: !isDev
}
})
}
app.on('ready', async () => {
createWindow()
})
在渲染进程创建一个窗口:
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
let mainWindow
app.on('ready', function() {
var electronScreen = electron.screen;
var displays = electronScreen.getAllDisplays()
var externalDisplay = null
for (var i in displays) {
if (displays[i].bounds.x != 0 || displays[i].bounds.y != 0) {
externalDisplay = displays[i]
break
}
}
if (externalDisplay) {
mainWindow = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
})
}
})