vue3+electron開發(fā)桌面軟件(7)——修改注冊(cè)表,創(chuàng)建級(jí)聯(lián)菜單(electron vue admin)
?# 系列文章目錄 系列第一篇: vue3 electron開發(fā)桌面軟件入門與實(shí)戰(zhàn)(0)——?jiǎng)?chuàng)建electron應(yīng)用
前言
最近實(shí)在是太懶了,差不多得有三四五六個(gè)月不更新博客了吧。經(jīng)過這段時(shí)間的反思,我悟出一個(gè)道理——躺平是真雞兒舒服~~
項(xiàng)目還在繼續(xù)做,所以一些不涉及業(yè)務(wù)的思路也可以繼續(xù)分享了。
我們前面已經(jīng)講解過如何借助nsis管理注冊(cè)表,實(shí)現(xiàn)簡(jiǎn)易的右鍵菜單,那么如果我們要實(shí)現(xiàn)如下圖所示的級(jí)聯(lián)菜單,又當(dāng)如何呢?
一、創(chuàng)建右鍵級(jí)聯(lián)菜單
如果同學(xué)們和我一樣,以前端萌新的身份,硬剛windows注冊(cè)表,經(jīng)歷漫長(zhǎng)的垃圾文章洗禮,大概率最終你會(huì)總結(jié)出注冊(cè)表的一個(gè)淺顯結(jié)論:
在注冊(cè)表中的合適位置,創(chuàng)建出合適的文件目錄和參數(shù),就能被windows系統(tǒng)識(shí)別,表現(xiàn)出相應(yīng)的操作。
如果你查詢到了microsoft官網(wǎng):https://learn.microsoft.com/zh-CN/troubleshoot/windows-server/performance/windows-registry-advanced-users(這里不放鏈接并不是失誤,而是我不想你點(diǎn)過去看它)
編輯切換為居中
在這里插入圖片描述
看到人家的介紹沒,面向高級(jí)用戶,捫心自問,你打算深究注冊(cè)表嗎?
如果你打算研究一番,請(qǐng)自行去搜索上面鏈接,并關(guān)閉這篇文章。
如果你不想去了解它里面運(yùn)行的原理,不想了解它提供的api方式,只想不求甚解地操作注冊(cè)表,來完成我們業(yè)務(wù)需求,請(qǐng)看下文。
二、了解注冊(cè)表結(jié)構(gòu)
1.手動(dòng)添加注冊(cè)表——一級(jí)菜單
上篇文章已經(jīng)講解過如何通過nsis來維護(hù)注冊(cè)表,實(shí)現(xiàn)系統(tǒng)右鍵菜單的功能。
這里我們來通過手動(dòng)的方式,在“計(jì)算機(jī)HKEY_CLASSES_ROOT*shell”路徑下維護(hù)一個(gè)“test”,如圖:
編輯切換為居中
在這里插入圖片描述
這時(shí)候,我們右鍵點(diǎn)擊文件,發(fā)現(xiàn)已經(jīng)有test這個(gè)菜單項(xiàng)了。
這時(shí)候,我們?yōu)檫@個(gè)“test”菜單項(xiàng)增加一個(gè)子項(xiàng)“command”,并且為其維護(hù)數(shù)據(jù)為:cmd.exe
- 第一步——新建項(xiàng):
?
編輯切換為居中
在這里插入圖片描述
* 第二步——維護(hù)command項(xiàng)關(guān)聯(lián)的exe文件,例如:cmd.exe
?
編輯
在這里插入圖片描述
確定后,右鍵點(diǎn)擊test,發(fā)現(xiàn)彈出cmd黑窗口。
2.手動(dòng)添加注冊(cè)表——二級(jí)菜單父菜單
創(chuàng)建二級(jí)菜單有一個(gè)關(guān)鍵的字符串名:SubCommands。
我們需要為我們要維護(hù)的菜單,新建字符串值(注意,這里不是新建項(xiàng)?。。。┤鐖D:
?
編輯切換為居中
在這里插入圖片描述
然后維護(hù)新建的字符串值:
?
編輯切換為居中
在這里插入圖片描述
最終得到的效果如圖:
?
編輯切換為居中
在這里插入圖片描述
這時(shí)候右鍵點(diǎn)擊文件,我們會(huì)得到如圖所示的效果:
?
編輯切換為居中
在這里插入圖片描述
test菜單后面有一個(gè)箭頭,這說明我們的SubCommands項(xiàng)是生效的。
但是這里會(huì)有一個(gè)小坑,我們把上面維護(hù)SubCommands字符串的圖拿過來:
?
編輯切換為居中
在這里插入圖片描述
會(huì)發(fā)現(xiàn),默認(rèn)項(xiàng)的數(shù)據(jù)是空的,因?yàn)槲以?jīng)點(diǎn)擊過test的默認(rèn)項(xiàng),然后點(diǎn)擊了確認(rèn),這就相當(dāng)于維護(hù)了一個(gè)空值的默認(rèn)項(xiàng),默認(rèn)項(xiàng)是空值時(shí),以后你不論做任何努力,都不會(huì)正確加載出二級(jí)菜單。所以這是個(gè)大坑。
我們刪除test這個(gè)項(xiàng),然后把上面的操作重新做一遍,注意千萬不要點(diǎn)開默認(rèn)后再點(diǎn)確認(rèn)。得到正確的test項(xiàng)如圖:
?
編輯切換為居中
在這里插入圖片描述
當(dāng)然,這時(shí)候,我們右鍵菜單中的test項(xiàng)還是沒有二級(jí)菜單,因?yàn)樗膬蓚€(gè)二級(jí)菜單【test1】【test2】都還沒有維護(hù)。test只能算是二級(jí)菜單的父菜單。
3.手動(dòng)添加注冊(cè)表——二級(jí)菜單子菜單
我經(jīng)過無數(shù)垃圾文章和少數(shù)大佬精品的洗禮,終于找到二級(jí)菜單應(yīng)該維護(hù)的注冊(cè)表地址:“計(jì)算機(jī)HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerCommandStoreshell”
我們?cè)谧?cè)表中地址欄輸入這個(gè)地址,然后找到地址的位置:
?
編輯切換為居中
在這里插入圖片描述
在這個(gè)shell里直接維護(hù)我們的test二級(jí)菜單如圖:
?
編輯
在這里插入圖片描述
這時(shí)候再去右鍵點(diǎn)擊文件,發(fā)現(xiàn)test項(xiàng)已經(jīng)有兩個(gè)二級(jí)菜單了:
?
編輯切換為居中
在這里插入圖片描述
我們?cè)谏厦妗総est1】【test2】下面維護(hù)個(gè)command,設(shè)置數(shù)值數(shù)據(jù)為cmd.exe,如圖:
?
編輯切換為居中
在這里插入圖片描述
此時(shí)我們點(diǎn)擊test——>test1,會(huì)打開cmd命令行。
總結(jié)
C站要求一個(gè)月內(nèi)寫四篇文章才能申請(qǐng)認(rèn)證,這不是要了老命嗎o(╯□╰)o
本文總結(jié):創(chuàng)建二級(jí)子項(xiàng)步驟: 1. 在注冊(cè)表“計(jì)算機(jī)HKEY_CLASSES_ROOT*shell”地址下維護(hù)test; 2. test下維護(hù)字符串值SubCommands,SubCommands中的數(shù)據(jù)設(shè)置為:test1;test2 注意兩個(gè)值之間用分號(hào)間隔 3. 在注冊(cè)表“計(jì)算機(jī)HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerCommandStoreshell”地址下,維護(hù)test1和test2對(duì)應(yīng)的命令。