打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
node

上一篇写了打包脚本中设置安装时开机启动,这一篇写由node.js来控制程序是否随windows系统开机启动.

 首页在项目package.json中加入对windows-shortcuts的引用(手动下载地址https://github.com/j201/windows-shortcuts)

 "dependencies": {

    "windows-shortcuts":"*"

  }

npm install windows-shortcuts,加入快捷方式的第三方包.再判断系统,根据系统生成启动目录地址,最后用window-shortcuts生成快捷方式,在启动目录创建成功后就能开机启动了.

var shortcut = require('windows-shortcuts');var fs=require("fs");//windows下的开机启动if(process.platform.match(/^win/)){	//开机启动目录 	var startupMenu="";	//APPDATA目录中有Roming的是win7,win8等同类系统开机目录	if(/Roaming/.test(process.env.APPDATA)){		startupMenu=process.env.APPDATA+"\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\";	}else{	//winXp等同类系统开机目录 			startupMenu=process.env.USERPROFILE+"\\「开始」菜单\\程序\\启动\\";	}	//在目录下生成的快捷方式名称			var startupTarget=startupMenu+"程序名.lnk";	//要复制快捷方式过去的源程序	var sourcePrograme=__dirname+"\\nw.exe";	//存在就删除,不存在就创建	if(fs.existsSync(startupTarget)){		fs.unlink(startupTarget,function(err){			if(err){				console.error("取消开机启动出错",err);			}		})	}else{		shortcut.create(startupTarget,sourcePrograme,function(err){			if(err){				console.error("设置开机启动出错",err);			}		})	}}

还有一种方式,调用regedit 传入参数,写注册表也行.

在写这个过程中,找了些资料,开始用的node.js的自带模块fs,的fs.symlink软链接来生成快捷方式,发现只有把链接命名为exe后缀的才会显示图标,其它的能用,但图片是空的.而且这个只能在win7,win8这些系统中用,在xp下会报错,错误代码:ENOSYS,因为XP不支持fs.symlink.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Node.js 事件循环
浅谈 JavaScript 处理树形结构的几个场景与方案
nw.js桌面程序自动更新(node.js表白记)
专门针对初学者的Node.js教程
NodeJS 常用模块推荐
NW.JS教程(二) 本地文件的操作及process进程 | 顾陌 | Blog
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服