摘要:實(shí)現(xiàn)原理通過修改注冊表來實(shí)現(xiàn)開機(jī)自啟和通過鏈接調(diào)起應(yīng)用類似百度網(wǎng)盤點(diǎn)擊連接打開應(yīng)用程序使用到的插件使用說明將下方例子中的替換為自己的應(yīng)用別名可以不為名稱開機(jī)自啟開機(jī)自啟動查看開機(jī)自啟注冊表是否已經(jīng)注冊未注冊或注冊地址與現(xiàn)地址不一致則進(jìn)行注
實(shí)現(xiàn)原理
通過修改注冊表來實(shí)現(xiàn)開機(jī)自啟和通過鏈接調(diào)起應(yīng)用(類似百度網(wǎng)盤點(diǎn)擊連接打開應(yīng)用程序)
使用到的插件node-regedit yarn add regedit
使用說明將下方例子中的electronApp替換為自己的應(yīng)用別名(可以不為exe名稱)
開機(jī)自啟
const regedit = require("regedit"); const { app } = require("electron"); const path = require("path"); // 開機(jī)自啟動 // 查看開機(jī)自啟注冊表是否已經(jīng)注冊electronApp regedit.list("HKCUSoftwareMicrosoftWindowsCurrentVersionRun", (err, data) => { if (err) { console.log(err) } if (!data["HKCUSoftwareMicrosoftWindowsCurrentVersionRun"].values.electronApp || data["HKCUSoftwareMicrosoftWindowsCurrentVersionRun"].values.electronApp !== app.getPath("exe")) { // 未注冊或注冊地址與現(xiàn)地址不一致則 進(jìn)行注冊 regedit.putValue({ "HKCUSoftwareMicrosoftWindowsCurrentVersionRun": { "electronApp": { value: app.getPath("exe"), type: "REG_SZ" } } }, (error) => { if (error) console.log(error) }) } });
通過鏈接調(diào)起應(yīng)用
const regedit = require("regedit"); const { app } = require("electron"); /** * 下文中的`electronAPP`替換為自己需要的喚起名 * 使用時直接在html中使用喚起app */ let url = app.getPath("exe"); // 獲取可運(yùn)行exe存放目錄 function setPath (url) { regedit.putValue({ "HKLMSOFTWAREClasseselectronAPP": { // 設(shè)置注冊表url調(diào)用electronApp "defaule": { value: "electronAPP", // 設(shè)置點(diǎn)擊url的彈出框名字(表現(xiàn)不好) type: "REG_DEFAULT" }, "URL Protocol": { value: "", type: "REG_SZ" }, "path": { value: `${url}`, type: "REG_SZ" } }, "HKLMSOFTWAREClasseselectronAPPshellopencommand": { "defaule": { value: `"${url}" "$1"`, // 需要喚起的應(yīng)用程序路勁 type: "REG_DEFAULT" } } }, (putErr) => { console.log(putErr) }) } if (url) { // 判斷啟動url是否正確(用戶重新安裝,并將安裝目錄修改) regedit.list("HKLMSOFTWAREClasseselectronAPP", (listErr, docData) => { if (listErr) { regedit.createKey(["HKLMSOFTWAREClasseselectronAPPshellopencommand"], (createErr) => { if (!createErr) { setPath(url) } }) } else { if (docData["HKLMSOFTWAREClasseselectronAPP"].values.path.value !== url) { setPath(url) } } }) }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/103583.html
摘要:當(dāng)設(shè)置了參數(shù)時,將作為命令行參數(shù)傳遞。托盤關(guān)閉向和微信一樣,有的時候我們并不想讓用戶通過點(diǎn)關(guān)閉按鈕的時候就關(guān)閉程序,而是把程序最小化到托盤,在托盤上做真正的退出操作。首先要監(jiān)聽窗口的關(guān)閉事件,阻止用戶關(guān)閉操作的默認(rèn)行為。 showImg(https://segmentfault.com/img/remote/1460000016933565?w=960&h=640); 在某種情況下,我...
摘要:調(diào)試集成環(huán)境選擇模塊,簡單分離開發(fā),測試,線上環(huán)境。程序保護(hù)開機(jī)自啟托盤最小化崩潰監(jiān)控升級一行代碼接入升級平臺,實(shí)現(xiàn)客戶端升級功能打包構(gòu)建一個指令搞定打包項(xiàng)目地址 項(xiàng)目地址 : https://github.com/ConardLi/electron-react electron-react electron + react + react-router + mobx + webpac...
摘要:如何使用下載文件當(dāng)你在或者上安裝配置好時,你就可以通過其下載文件了。正文完參考文章下開機(jī)啟動懶人安裝教程的開機(jī)啟動文件夾在哪及開機(jī)自動啟動軟件 什么是 Aria2? aria2 是一個輕量級的多協(xié)議和多源命令行下載實(shí)用程序。 它支持 HTTP / HTTPS,F(xiàn)TP,SFTP,BitTorrent 和 Metalink。 aria2 可以通過內(nèi)置的 JSON-RPC 和 XML-RPC...
摘要:如何使用下載文件當(dāng)你在或者上安裝配置好時,你就可以通過其下載文件了。正文完參考文章下開機(jī)啟動懶人安裝教程的開機(jī)啟動文件夾在哪及開機(jī)自動啟動軟件 什么是 Aria2? aria2 是一個輕量級的多協(xié)議和多源命令行下載實(shí)用程序。 它支持 HTTP / HTTPS,F(xiàn)TP,SFTP,BitTorrent 和 Metalink。 aria2 可以通過內(nèi)置的 JSON-RPC 和 XML-RPC...
閱讀 2101·2021-11-18 10:02
閱讀 2850·2021-09-04 16:41
閱讀 1142·2019-08-30 15:55
閱讀 1405·2019-08-29 17:27
閱讀 1070·2019-08-29 17:12
閱讀 2535·2019-08-29 15:38
閱讀 2855·2019-08-29 13:02
閱讀 2831·2019-08-29 12:29