乐趣区

关于electron:Electron-两种进程都可用的模块

上面是 Electron 中主过程和渲染过程都能够应用的模块:

模块 形容
clipboard 提供办法来供复制和粘贴操作
crashReporter 开启发送利用解体报告
nativeImage electron 中获取图片能够通过文件的门路或是应用 nativeImage 对象
screen 检索屏幕的大小,显示,鼠标地位等的信息
shell 提供了集成其余桌面客户端的关联性能

clipboard 模块

clipboard 模块提供办法来供复制和粘贴操作。

示例:

例如将一个字符串写到 clipboard 上:

const clipboard = require('electron').clipboard;
clipboard.writeText('xkd');

clipboard 模块有以下办法:

办法 形容
readText 以纯文本模式从 clipboard 返回内容
readText 以纯文本模式从 clipboard 返回内容
writeText 以纯文本模式向 clipboard 增加内容
readHtml 返回 clipboard 中的标记内容
readHtml 返回 clipboard 中的标记内容
writeHtml clipboard 增加 markup 内容
writeHtml clipboard 增加 markup 内容
readImage clipboard 中返回 NativeImage 内容
writeImage clipboard 中写入 image
readRtf clipboard 中返回 RTF 内容
writeRtf clipboard 中写入 RTF 格局的 text
clear 清空 clipboard 内容
availableFormats 返回 clipboard 反对的格局数组
has 返回 clipboard 是否反对指定 data 的格局
read 读取 clipboarddata
write clipboard 写入 data

crashReporter 模块

crashReporter 模块开启发送利用解体报告。

示例:

例如主动提交解体报告给服务器 :

const crashReporter = require('electron').crashReporter;

crashReporter.start({
  productName: 'my_electron',
  companyName: 'shushuo',
  submitURL: 'https://9xkd.com/url-to-submit',
  autoSubmit: true
});

crash-reporter 模块有如下办法:

办法 形容
start 在应用其它 crashReporter APIs 之前应用
getLastCrashReport 返回最初一个解体报告的日期和 ID,如果没有过解体报告发送过去,或者还没有开始解体报告收集,将返回 null
getUploadedReports 返回所有上载的解体报告,每个报告蕴含了上载日期和 ID

nativeImage 模块

electron 中获取图片能够通过文件的门路或是应用 nativeImage 对象。

示例:

例如当创立一个 tray 或设置窗口的图标时候,能够应用一个字符串的图片门路:

var appIcon = new Tray('/Users/somebody/images/icon.png');
var window = new BrowserWindow({icon: '/Users/somebody/images/window.png'});

或者从剪切板中读取图片:

var image = clipboard.readImage();
var appIcon = new Tray(image);

以后反对 PNGJPEG 图片格式,最好应用 PNG 格局,因为它反对通明和无损压缩。在 Windows 中还能够应用 ICO 图标的格局。

nativeImage 类有如下办法:

办法 形容
createEmpty 创立一个空的 nativeImage 实例
createFromPath 从指定 path 创立一个新的 nativeImage 实例
createFromBuffer buffer 创立一个新的 nativeImage 实例,默认 scaleFactor 是 1.0
createFromDataURL 从 dataURL 创立一个新的 nativeImage 实例

screen 模块

screen 模块是一个EventEmitter,用于检索屏幕的 size,显示,鼠标地位等的信息。在 app 模块的 ready 事件触发之前不可应用这个模块。

示例:

例如咱们创立一个充斥整个屏幕的窗口:

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

screen 模块有如下事件:

事件 形容
display-added 当增加了 newDisplay 时收回事件
display-removed 当移出了 oldDisplay 时收回事件
display-metrics-changed 当一个 display 中的一个或更多的 metrics 扭转时收回事件

screen 模块的办法如下所示:

办法 形容
getCursorScreenPoint 返回以后鼠标的绝对路径
getPrimaryDisplay 返回最次要的 display
getAllDisplays 返回一个以后可用的 display 数组
getDisplayMatching 返回与提供的边界范畴最密切相关的 display
getDisplayNearestPoint 返回离指定点最近的 display

shell 模块

shell 模块提供了集成其余桌面客户端的关联性能。

示例:

在用户默认浏览器中关上 URL

var shell = require('shell');
shell.openExternal('https://www.9xkd.com/');

shell 模块的办法如下所示:

办法 形容
showItemInFolde 关上文件所在文件夹,个别状况下还会选中它
openIte 以默认打开方式关上文件
openExterna 以零碎默认设置关上内部协定
moveItemToTra 删除指定门路文件,并返回此操作的状态值(boolean 类型)
beep 播放 beep 声音
退出移动版