標籤:style http io os ar for sp art on
上一篇寫了打包指令碼中設定安裝時開機啟動,這一篇寫由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.
node-webkit設定程式開機啟動