前言
- 有時候有些經常用到的功能希望可以自定義加入右鍵菜單中,那么本文可以帶你了解通過修改注冊表方式定制右鍵菜單。
- 特別注意修改注冊表屬於高危操作,不認識、不知道的注冊表不要輕易刪除或修改。在編輯注冊表之前記得備份注冊表。
- 右鍵菜單分為很多種,后面我會介紹幾個常用的情況,大致情況有下面幾種:
1. 桌面右擊空白處彈出菜單
2. 文件夾右擊空白處彈出菜單
3. 右擊單個文件彈出菜單
4. 右擊多個文件彈出菜單
5. 右擊單個文件夾彈出菜單
6. 右擊多個文件夾彈出菜單
7. 右擊文件和文件夾組合時彈出菜單 - 注冊表對大小寫不敏感,網上那些文檔里面項的名字大小寫各不相同,但都是生效的。
注冊表參數
參數和解釋
參數 | 解釋 |
---|---|
%* |
所有參數,我測試結果是快捷方式的參數 |
%0、%1 |
文件路徑 |
%2 - %9 |
第二到第九個參數,快捷方式的參數 |
%D |
當前目錄路徑 |
%H |
意義不明,但測試結果都是0 |
%I |
意義不明,每次都是:num:num 格式,每次都會改變 |
%L |
同%1 ,不過是固定長路徑,所以都說這個更好 |
%S |
意義不明,但測試結果都是1 |
%V |
文件路徑 |
%W |
當前文件的父目錄的路徑 |
驗證參數
為了驗證上述參數我寫了一個go
的腳本來打印通過修改注冊表時右鍵參數具體值。代碼如下:
package main
import (
"fmt"
"os"
)
func main() {
for _, v := range os.Args {
fmt.Printf("[%s]\n", v)
}
fmt.Scanln()
}
為方便copy,我把下面注冊表的值放出來:
"C:\regedit\regedit.exe" "*: %*" "0: %0" "1: %1" "2: %2" "3: %3" "4: %4" "5: %5" "6: %6" "7: %7" "8: %8" "9: %9" "D: %D" "H: %H" "I: %I" "L: %L" "S: %S" "V: %V" "W: %W"
按照下圖HKEY_CLASSES_ROOT\*\shell\regeditTest\command
中添加上面那個命令行,測試右鍵單個文件結果如下:
1. 右擊文件為快捷方式時參數列表才有數據,已經測過不支持%10
,右擊文件時不會出現參數列表值。
2. 右擊文件為快捷方式時%W
會有不一樣的結果,當起始位置
為空結果為快捷方式所在目錄,當起始位置
有填目錄則結果就是填寫的值。看下圖:
注冊表參數總結
- 知道每個參數的含義,那么在運行自己寫的程序時就知道注冊表里面的參數如何填寫,不會有問題。
- 關於第二到第九的參數以及
%W
的特殊之處,我也是試出來的,因為看別人的博文寫的不清楚。所以最好多查查資料搞清楚具體含義再使用會避免很多麻煩。
右擊文件菜單配置
1. 常用配置如下
配置鍵 | 配置含義 |
---|---|
icon | 菜單中顯示的圖標,一般用ico圖標文件 。也可以直接填exe可執行程序文件 ,此時直接用該可執行程序的圖標。不填則不顯示,文件不存在顯示白板。 |
MuiVerb | 菜單顯示名字,不填則默認用注冊表的名字 |
SubCommands | 多級菜單時需要 |
MultiSelectModel | 官方解釋,Single:右擊單個文件、Document:最多選15個文件、Player:看文檔,相當於沒限制。經測試不要這一項用的Document限制 |
2. 結果截圖如下所示,當配置Single時多選文件右鍵會隱藏配置的菜單:
多級菜單
先添加一級菜單
在HKEY_CLASSES_ROOT\*\shell\one
下,增加一個子項SubCommands=two1;two2;two3
,示例這三個值會在下一步作為注冊表名。
再添加二級菜單
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
下面添加如下幾個項,還可以添加三級菜單。
還可以添加三級菜單
添加三級菜單也是在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
下面,如果需要可以添加更多級菜單。
看下效果圖
看下圖,需要執行命令,則在圖中對應的command
中添加命令即可。
通過注冊表文件創建
可以先通過注冊表工具先創建好可用的注冊表配置,再右鍵一個個導出,然后用記事本把這些注冊表合並在一起即可。
下面是導出的配置組合,保存成.reg
文件,雙擊執行即可完成注冊表配置。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\one]
"icon"="C:\\regedit\\seting.ico"
"SubCommands"="two1;two2;two3"
"MuiVerb"="一級菜單"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\two1]
"MUIVerb"="二級菜單1"
"icon"="C:\\regedit\\seting.ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\two1\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\two2]
"MUIVerb"="二級菜單2"
"icon"="C:\\regedit\\seting.ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\two2\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\two3]
"MUIVerb"="二級菜單3"
"icon"="C:\\regedit\\seting.ico"
"SubCommands"="three31;three32"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\two3\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\three31]
"icon"="C:\\regedit\\seting.ico"
"MUIVerb"="三級菜單31"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\three31\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\three32]
"icon"="C:\\regedit\\seting.ico"
"MUIVerb"="三級菜單32"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\three32\command]
各種位置的注冊表
右擊桌面空白位置
注冊表位置:HKEY_CLASSES_ROOT\DesktopBackground\Shell\one
,效果如下圖所示。
右擊文件夾
注冊表位置:HKEY_CLASSES_ROOT\Directory\shell\one
,效果如下圖所示。
對應文件后綴的打開方式
這個通過注冊表修改比較繁瑣,我找到一個軟件可以輕松搞定:FileTypesMan
。當然可以按照下圖所示HKEY_CLASSES_ROOT\.test
自定義指定后綴文件的菜單:
總結
- 關於右鍵菜單還有很多技巧,我只是把我知道的,我常用的列出來,做個記錄。更多技巧可以百度或者谷歌吧。
- 希望本文可以幫到大家,反正我已經通過自己的瞎搞,弄了一套舒服的適合我自己的右鍵菜單,並且制作了reg文件,換個電腦分分鍾搞定。