下面是 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 声音
06-22 18:28