Windows登錄檔增加右鍵多級選單

悟透發表於2024-11-20

前言全域性說明


一、說明

環境:

Windows 11 家庭版 23H2 22631.3737
Windows 7 旗艦版

二、登錄檔說明

2.1 項說明

HKEY_CLASSES_ROOT*:系統所有檔案,右鍵系統任一檔案都會新增右鍵選單
HKEY_CLASSES_ROOT\.txt:在.txt檔案,新增右鍵選單
HKEY_CLASSES_ROOT\AllFilesystemObjects:系統所有檔案和資料夾,右鍵任一檔案或者資料夾都會新增右鍵選單
HKEY_CLASSES_ROOT\Folder:所有資料夾,新增右鍵選單
HKEY_CLASSES_ROOT\Directory:所有資料夾,新增右鍵選單
HKEY_CLASSES_ROOT\Directory\Background:所有資料夾空白處,新增右鍵選單

2.2 鍵名說明

SubCommands: 建立多級(層疊)選單,當前項下有子選單。沒有子項這個屬性可以不加。(可選)
icon :右鍵選單圖示(可用指定 .ico 或 .exe 檔案)(可選)
MUIVerb:指定右鍵選單顯示名字,不加預設為項名(可選)
Position: 指定選單標題位置,值:Top, Middle(預設), Bottom 三種(可選)

Position 效果:
image


三、建立,一級選單

3.1 新建 一級選單 項(登錄檔資料夾)

image

"一級選單" 這個名字你隨意

3.2 新建 command 執行的命令

image

必須用 command 這個名字

3.3 效果

image


四、建立 Win7 多級選單

4.1 win7_多級選單

檔名:win7_多級選單.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單]
"SubCommands"=""
@=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell]
@=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級]
"SubCommands"=""
@=""
"MUIVerb"="2級選單"

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級]
@=""
"MUIVerb"="3級選單"
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級]
@=""
"MUIVerb"="4級選單"
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級\shell]
@=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級\shell\5級]
"SubCommands"=""
"MUIVerb"="5級選單"

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級\shell\5級\shell]
@=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級\shell\5級\shell\開啟cmd]
@=""
"MUIVerb"="開啟cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級\shell\5級\shell\開啟cmd\command]
@="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級2]
"MUIVerb"="4級選單第2個"
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級2\shell]
@=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級2\shell\開啟CMD]
"MUIVerb"="開啟CMd"

[HKEY_CLASSES_ROOT\Directory\Background\shell\1級選單\shell\2級\shell\3級\shell\4級2\shell\開啟CMD\command]
@="cmd.exe"

在Win7下,要注意的點:

1.每一級都需要用 MUIVerb 指定顯示名稱
2.如果項裡增加了 SubCommands 就不要再項的預設值裡修改。如果在第3級增加預設顯示名,那麼後面第4級和以後的就不會顯示了

4.2 右鍵效果:

image
image

4.3 登錄檔,效果:

image

五、建立 Win11 多級選單

5.1 Win11_多級選單

檔名:Win11_多級選單.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\1]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7]
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7\shell\開啟cmd]

[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7\shell\開啟cmd\command]
@="cmd.exe"

5.2右鍵效果:

image

5.3 登錄檔,效果:

image


六、Win7 和 Win11 多級選單,區別、注意點

1.如果 MUIVerb 和 預設值 都有內容,優先顯示 MUIVerb 值內容

6.1 Win7 選單 有 SubCommands 鍵時,不要填寫預設,要留空(win11 無此限制)

如果同時修改,將不顯示子選單
image

6.2. Win7 多級選單需要用 MUIVerb 指定顯示名稱(win11 無此限制)

2級選單
image
3級選單
image
最後一級命令時,可以指定預設值顯示名稱
image

6.3 最多可以多少層選單

最多是多少層沒有試過,一般三、四層級就夠用了,示例中最多設定七層還是正常的。
按照微軟習慣,檔名至多255字元,
猜測,層級也應該差不多是 128 或255 層。
更詳細的可以參考,
微軟官方,登錄檔說明:
https://learn.microsoft.com/zh-cn/windows/win32/sysinfo/registry-value-types



免責宣告:本號所涉及內容僅供安全研究與教學使用,如出現其他風險,後果自負。




參考、來源:
https://www.cnblogs.com/mq0036/p/8398594.html
https://www.cnblogs.com/getValue/p/14381631.htm



相關文章