Electron screen 模塊

2019-08-14 19:20 更新

screen 模塊檢索屏幕的 size,顯示,鼠標位置等的信息.在 app 模塊的ready 事件觸發(fā)之前不可使用這個模塊.

screen 是一個 EventEmitter.

注意: 在渲染進程 / 開發(fā)者工具欄, window.screen 是一個預(yù)設(shè)值的 DOM 屬性, 所以這樣寫 var screen = require('electron').screen 將不會工作. 在我們下面的例子, 我們?nèi)〈褂每勺兠值?span> electronScreen. 一個例子,創(chuàng)建一個充滿真?zhèn)€屏幕的窗口 :

const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

var mainWindow;

app.on('ready', function() {
  var electronScreen = electron.screen;
  var size = electronScreen.getPrimaryDisplay().workAreaSize;
  mainWindow = new BrowserWindow({ width: size.width, height: size.height });
});

另一個例子,在次頁外創(chuàng)建一個窗口:

const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

var 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
    });
  }
});

Display 對象

Display 對象表示了物力方式連接系統(tǒng). 一個偽造的 Display 或許存在于一個無頭系統(tǒng)中,或者一個 Display 相當(dāng)于一個遠程的、虛擬的 display.

  • display object
    • id Integer - 與display 相關(guān)的唯一性標志.
    • rotation Integer - 可以是 0, 1, 2, 3, 每個代表了屏幕旋轉(zhuǎn)的度數(shù) 0, 90, 180, 270.
    • scaleFactor Number - Output device's pixel scale factor.
    • touchSupport String - 可以是 available, unavailable, unknown.
    • bounds Object
    • size Object
    • workArea Object
    • workAreaSize Object

事件

screen 模塊有如下事件:

Event: 'display-added'

返回:

  • event Event
  • newDisplay Object

當(dāng)添加了 newDisplay 時發(fā)出事件

Event: 'display-removed'

返回:

  • event Event
  • oldDisplay Object

當(dāng)移出了 oldDisplay 時發(fā)出事件

Event: 'display-metrics-changed'

返回:

  • event Event
  • display Object
  • changedMetrics Array

當(dāng)一個 display 中的一個或更多的 metrics 改變時發(fā)出事件. changedMetrics 是一個用來描述這個改變的數(shù)組.可能的變化為 bounds, workArea, scaleFactor  rotation.

方法

screen 模塊有如下方法:

screen.getCursorScreenPoint()

返回當(dāng)前鼠標的絕對路徑 .

screen.getPrimaryDisplay()

返回最主要的 display.

screen.getAllDisplays()

返回一個當(dāng)前可用的 display 數(shù)組.

screen.getDisplayNearestPoint(point)

  • point Object
    • x Integer
    • y Integer

返回離指定點最近的 display.

screen.getDisplayMatching(rect)

  • rect Object
    • x Integer
    • y Integer
    • width Integer
    • height Integer

返回與提供的邊界范圍最密切相關(guān)的 display.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號