diff --git a/package-lock.json b/package-lock.json
index ab797f0..0e784f5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"dependencies": {
"@electron-toolkit/preload": "^3.0.0",
"@electron-toolkit/utils": "^3.0.0",
+ "get-installed-apps": "^1.1.0",
"serialport": "^12.0.0"
},
"devDependencies": {
@@ -4254,6 +4255,14 @@
"node": "6.* || 8.* || >= 10.*"
}
},
+ "node_modules/get-installed-apps": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-installed-apps/-/get-installed-apps-1.1.0.tgz",
+ "integrity": "sha512-Utei9W3ZiNvT6F3e4/DczVejm+Gbw2/Pbtp9N5jrPf59zfuD9zwfl/BI7EgFl2JDAftz4fYTj4NK21HsrfF3vw==",
+ "dependencies": {
+ "iconv-lite": "^0.6.3"
+ }
+ },
"node_modules/get-intrinsic": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
@@ -4595,7 +4604,6 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -5799,8 +5807,7 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sanitize-filename": {
"version": "1.6.3",
diff --git a/package.json b/package.json
index b2d3fb2..3684828 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"dependencies": {
"@electron-toolkit/preload": "^3.0.0",
"@electron-toolkit/utils": "^3.0.0",
+ "get-installed-apps": "^1.1.0",
"serialport": "^12.0.0"
},
"devDependencies": {
diff --git a/src/main/index.js b/src/main/index.js
index 95eaf38..85ede86 100644
--- a/src/main/index.js
+++ b/src/main/index.js
@@ -3,6 +3,7 @@ import { join } from 'path'
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
import icon from '../../resources/icon.png?asset'
import fs from 'node:fs/promises'
+import {getInstalledApps} from 'get-installed-apps'
import { SerialPort } from 'serialport'
import * as logTimestamp from 'log-timestamp'
@@ -21,6 +22,10 @@ async function getSerialPorts() {
return await SerialPort.list()
}
+async function getApps() {
+ return await getInstalledApps()
+}
+
function createWindow() {
// Create the browser window.
const mainWindow = new BrowserWindow({
@@ -75,6 +80,7 @@ app.whenReady().then(() => {
ipcMain.on('ping', () => console.log('pong'))
ipcMain.handle('loadConfigurationYML', loadConfigurationYAML)
ipcMain.handle('getSerialPorts', getSerialPorts)
+ ipcMain.handle('getInstalledApps', getApps)
developmentConsole()
createWindow()
diff --git a/src/renderer/src/App.vue b/src/renderer/src/App.vue
index 2538b31..41a6f8c 100644
--- a/src/renderer/src/App.vue
+++ b/src/renderer/src/App.vue
@@ -1,6 +1,4 @@
@@ -43,9 +47,12 @@ onMounted(() => {