说明:

nodejs操作注册表本人试过两个库,第一个是regedit库;另外一个则是winre库。个人推荐winre库。主要是因为:

  • winre库操作方便,源代码阅读方便。
  • winre库支持electron-packager 打包为sar格式。

app完成功能:

  • electron 开发app可以使用户通过menu来设置开机自启动。
  • 支持electron-packager 打包为sar形式。

代码

  • 安装:

    npm install winre;

  • 主要代码

let Registry = require('winreg');
let regKey = new Registry({                                       // new operator is optionalhive: Registry.HKCU,                                        // open registry hive HKEY_CURRENT_USERkey:  '\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' // key containing autostart programs
});
regKey.get("runAppClient",function (err, item) {if (err)console.log('ERROR: '+err);menu.append(new MenuItem({label: '开机自启动',type: 'checkbox',checked: item!==null&&item.value!==undefined,click: function (currentMenu) {let value = "";if (currentMenu.checked)value = "\"" + path.join(process.env.appclient, "appclient.exe") + "\"";regKey.set("runAppformClient", "REG_SZ", value, function (err, item) {if (err)console.log('ERROR: ' + err);elseconsole.log("sucess");});}}));
});
  • winre库说明:

    通过阅读代码发现,winre实际上是封装了一层windows的reg的命令行,所有操作注册表的方式都是通过命令行实现的。他的源码比较直观,所以如果需要使用什么接口,可以直接阅读源码。下面介绍两个我用到的接口:

regKey.set("runAppformClient", "REG_SZ", value, function (err, item){})

设置runAppformClient的值为value,value的type为REG_SZ,最后一个为回调函数。这里有一点需要注意的是,如果该值不存在,则会新建runAppformClient。

regKey.get("runAppClient",function (err, item) {})

获取runAppClient的value值,如果该值不存在,则在回调函数中的err的code为-1。

electron 通过nodejs的winre库实现软件开机自启动相关推荐

  1. Windows设置软件开机自启动与关闭

    Windows设置软件开机自启动 有时候我们需要手动为某些软件设置开机自启动权限,或者手动取消软件开机自启动权限. 取消开机自启动权限: 1. Win+R,在打开的运行程序中输入 msconfig,回 ...

  2. DSP学习 -- 软件开机自启动

    一.Linux 下实现 启动脚本的一般存放路径是 /etc/init.d/rcS (rcS即脚本文件),自启动应用程序一般放置于/etc/rc.d/init.d目录下. 参看:开机启动脚本/etc/i ...

  3. Qt for Mac 设置软件开机自启动

    在Qt程序中设置Mac软件的开机自启动,通过调用object-c代码来实现. 目前只测试过在非沙盒的环境下设置开机自启动,沙盒环境下没有测试过(设置方式不同,会比较复杂) 新建类,定义接口 void  ...

  4. Linux设置软件开机自启动的三种方式(中标麒麟、银河麒麟、ubuntu)

    一.有界面的程序自启动 利用Linux的 .desktop文件实现开机启动. 在/etc/xdg/autostart 目录下建立一个 test.desktop文件,并对文件进行以下编辑. 操作步骤 打 ...

  5. win10实现软件开机自启动

    刚开始接触win10的朋友肯定不知道在哪里把自己常用的软件设置成开机启动,因为你根本找不到前面的xp.win7.win8,等里面的启动文件夹. 工具/原料 win10系统电脑一台 方法/步骤 1 如果 ...

  6. Linux Ubuntu设置软件开机自启动

    共四步: 1.Ctrl + Alt + T 打开终端: 2.终端输入命令 gnome-session-properties 然后弹出窗口" 启动应用程序首选项" : 3.点击右侧 ...

  7. 使用Windows10任务计划程序配置软件开机自启动

    目录 配置过程 错误处理 配置过程 在windows10中找到任务计划程序,点击→新文件夹→新建(检测软件) 点击→创建基本任务 输入名称(自定义) 触发器→当前用户登陆时 选择启动程序 添加启动程序 ...

  8. CentOS下常用软件开机自启动脚本

    MySQL 注意事项: MySQL的安装路径为: /usr/local/mysql (如果不在该路径下,那么需要修改启动脚本中的basedir和datadir参数) MySQL的配置文件位置为:/et ...

  9. ubuntu18.04下设置软件开机自启动

    1.去掉开机自启动,使开机后不需要输入密码就可以自动进入系统 系统设置---用户账户---选择一个账户----点击右上角解锁后---打开自动登录---点击右上角锁定 2.完成开机自启动脚本 (1).要 ...

最新文章

  1. 【双11背后的技术】集团AliDocker化双11总结
  2. PAT-B 1007.素数对猜想
  3. alter table add column多个字段_WordPress 在文章列表快速编辑中编辑自定义字段
  4. 给数据库表字段设置默认值
  5. 【渝粤教育】 国家开放大学2020年春季 1021劳动与社会保障法 参考试题
  6. 根据IP地址查询其所属城市
  7. asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config
  8. 好用!Visual Studio for mac(微软代码编辑器)中文版
  9. linux下scp的使用
  10. 美股全线收涨 特斯拉涨超7% 瑞幸大跌近13%
  11. (转)iPhone +ipad尺寸规范(界面 图标)
  12. 苹果手机的微信记录怎么恢复?奉上超好用的恢复技巧,拿走不谢
  13. 网页无法访问怎么解决(已解决)
  14. 2022年11月(下半年)信息系统项目管理师考试-案例分析真题及解析
  15. Mac突然无法连网 或 连上网可以上QQ、微信等,但无法打开网页
  16. css实现文字中间横线,css实现文字居中两边横线效果的示例代码
  17. CSP2020提高组考后有感
  18. Android 轻量级数据库 Hawk
  19. DUTOJ-1003: Zeratul的军训游戏
  20. python制作三维散点图

热门文章

  1. (项目)审计系统(堡垒机)
  2. 文化先锋A6客户端自动登陆
  3. LeetCode1219 黄金矿工
  4. 自学编程,痛并快乐着
  5. PPT:灯塔工厂相关介绍
  6. python与传感器交互_Python-socket实现与小米传感器通信
  7. 理解JavaScript设计模式
  8. thinkphp5.x获取当前模块名称,当前控制器名称,当前类方法名称,当前模型名称
  9. c#十二星座速配系统_不同的调是否具有独立色彩?作曲时如何选择用什么调?...
  10. 多个视频如何合 并,怎么合成视频