跳到主要內容

screen

檢索關於螢幕大小、顯示器、游標位置等資訊。

程序:主程序

此模組必須在發出 app 模組的 ready 事件後才能使用。

screen 是一個 EventEmitter

注意: 在渲染器 / 開發人員工具中,window.screen 是一個保留的 DOM 屬性,因此寫入 let { screen } = require('electron') 將無法運作。

建立一個填滿整個螢幕的視窗的範例

// Retrieve information about screen size, displays, cursor position, etc.
//
// For more info, see:
// https://electron.dev.org.tw/docs/latest/api/screen

const { app, BrowserWindow, screen } = require('electron/main')

let mainWindow = null

app.whenReady().then(() => {
// Create a window that fills the screen's available work area.
const primaryDisplay = screen.getPrimaryDisplay()
const { width, height } = primaryDisplay.workAreaSize

mainWindow = new BrowserWindow({ width, height })
mainWindow.loadURL('https://electron.dev.org.tw')
})

在外部顯示器中建立視窗的另一個範例

const { app, BrowserWindow, screen } = require('electron')

let win

app.whenReady().then(() => {
const displays = screen.getAllDisplays()
const 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'

傳回

當新增了 newDisplay 時發出。

事件:'display-removed'

傳回

當已移除 oldDisplay 時發出。

事件:'display-metrics-changed'

傳回

  • event 事件
  • display 顯示器
  • changedMetrics string[]

display 中的一個或多個度量變更時發出。changedMetrics 是一個字串陣列,描述變更。可能的變更包括 boundsworkAreascaleFactorrotation

方法

screen 模組具有下列方法

screen.getCursorScreenPoint()

傳回

滑鼠指標目前的絕對位置。

注意: 傳回值是一個 DIP 點,而不是螢幕實體點。

screen.getPrimaryDisplay()

傳回 顯示器 - 主要顯示器。

screen.getAllDisplays()

傳回 顯示器[] - 目前可用的顯示器陣列。

screen.getDisplayNearestPoint(point)

傳回 顯示器 - 最靠近指定點的顯示器。

screen.getDisplayMatching(rect)

傳回 顯示器 - 最密切與所提供的界限相交的顯示器。

screen.screenToDipPoint(point) Windows

傳回

將螢幕實體點轉換為螢幕 DIP 點。DPI 縮放是相對於包含實體點的顯示器執行的。

screen.dipToScreenPoint(point) Windows

傳回

將螢幕 DIP 點轉換為螢幕實體點。DPI 縮放是相對於包含 DIP 點的顯示器執行的。

screen.screenToDipRect(window, rect) Windows

傳回 矩形

將螢幕實體矩形轉換為螢幕 DIP 矩形。DPI 縮放是相對於最靠近 window 的顯示器執行的。如果 window 為 null,則縮放將相對於最靠近 rect 的顯示器執行。

screen.dipToScreenRect(window, rect) Windows

傳回 矩形

將螢幕 DIP 矩形轉換為螢幕實體矩形。DPI 縮放是相對於最靠近 window 的顯示器執行的。如果 window 為 null,則縮放將相對於最靠近 rect 的顯示器執行。