使用 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 支持, 谢谢.