使用 Electron 获取应用和用户系统信息
此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下载后运行查看. 欢迎 Star .
使用几个 Node.js 和 Electron 模块, 您可以收集有关用户系统, 应用程序或屏幕的信息.
相关文档的链接位于下面的示例中.
获取应用信息
支持: Win, macOS, Linux | 进程: Both
主进程的 app
模块可用于获取应用程序在用户计算机上的位置.
在这个示例中, 要从渲染器进程获取信息, 我们使用 ipc
模块向主进程发送一条消息, 来请求应用程序的路径.
查看更多 应用模块文档.
渲染器进程
const ipc = require('electron').ipcRenderer
const appInfoBtn = document.getElementById('app-info')
appInfoBtn.addEventListener('click', function () {
ipc.send('get-app-path')
})
ipc.on('got-app-path', function (event, path) {
const message = `当前应用程序位于: ${path}`
document.getElementById('got-app-info').innerHTML = message
})
主进程
const app = require('electron').app
const ipc = require('electron').ipcMain
ipc.on('get-app-path', function (event) {
event.sender.send('got-app-path', app.getAppPath())
})
获取版本信息
支持: Win, macOS, Linux | 进程: Both
process
模块内置在 Node.js 中(因此您可以在主进程和渲染器进程中使用此模块), 而在 Electron 应用程序中, 此对象还有一些更有用的属性.
下面的示例将获取应用程序正在使用的 Electron 版本.
查看更多 进程文档.
渲染器进程
const versionInfoBtn = document.getElementById('version-info')
const electronVersion = process.versions.electron
versionInfoBtn.addEventListener('click', function () {
const message = `当前应用正在使用的 Electron 版本: ${electronVersion}`
document.getElementById('got-version-info').innerHTML = message
})
高级技巧
查找 Chromium, Node.js 和 V8 的版本.
Electron 还在 process.versions
对象中包括 Chromium, Node.js 和 V8 的版本. 您可以通过在 Electron 应用中打开开发人员工具并键入 process.versions
来快速查看.
// 返回正在使用的 Chromium 版本
process.versions.chrome
// 返回正在使用的 V8 版本
process.versions.v8
// 返回正在使用的 Node 版本
process.versions.node
获取系统信息
支持: Win, macOS, Linux | 进程: Both
Node.js 的 os
模块提供了有关用户操作系统的有效信息. 它内置在 Node.js 中, 可以在主进程和渲染器进程中使用.
在下面的示例中, 我们通过模块返回主目录的位置.
在浏览器中查看 完整 os 文档
渲染器进程
const os = require('os')
const homeDir = os.homedir()
const sysInfoBtn = document.getElementById('sys-info')
sysInfoBtn.addEventListener('click', function () {
const message = `当前系统主目录是: ${homeDir}`
document.getElementById('got-sys-info').innerHTML = message
})
获取屏幕信息
支持: Win, macOS, Linux | 进程: Both
Electron 的 screen
模块可以获取有关屏幕大小, 显示, 光标位置等信息. 在下面的示例中, 我们将获取所使用的显示器的尺寸.
在浏览器中查看 完整 screen 文档
渲染器进程
const electronScreen = require('electron').screen
const screenInfoBtn = document.getElementById('screen-info')
const size = electronScreen.getPrimaryDisplay().size
screenInfoBtn.addEventListener('click', function () {
const message = `当前屏幕是: ${size.width}px x ${size.height}px`
document.getElementById('got-screen-info').innerHTML = message
})
高级技巧
尺寸差异.
示例中的 .size
方法返回屏幕的原始尺寸, 但由于系统菜单栏, 这可能不是您的应用程序的实际可用空间.
要获取可用屏幕空间的大小, 请使用 .workAreaSize
方法. 而使用 .workArea
方法将返回坐标以及可用屏幕空间的尺寸.
如果这边文章对您有帮助, 感谢 下方点赞 或 Star GitHub: electron-api-demos-Zh_CN 支持, 谢谢.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。