給文件添加右鍵菜單的方法主要有修改注冊表,編寫COM組件兩種方式,當然這個只是我知道的,或許還有其他我所不知道的方法。今天我要分享的是如何通過添加注冊表來達到創(chuàng)建自定義菜單的目的。
在XP系統(tǒng)上通過注冊表添加自定義菜單,只能創(chuàng)建一級菜單而且不能給菜單添加圖標。WIN7及之后的系統(tǒng)支持注冊表添加多級菜單并且可以添加菜單圖標。
自己寫好的小程序想要掛載到右鍵菜單,通過點擊文件或者文件夾右鍵,就可以通過自己的小程序處理該文件或者文件夾。
下面就介紹如何通過注冊表實現右鍵一級菜單和多級菜單的方法:
1. 準備小程序文件
二維碼文件分享程序,詳情見我博客地址:https://blog.csdn.net/qq_25166683/article/details/81281177
2. 認知注冊表
2.1 使用win+R快捷鍵打開運行面板,輸入regedit,回車打開注冊表。
2.2 HKEY_CLASSES_ROOT介紹
HKEY_CLASSES_ROOT是應用程序運行時必需的信息,和HKEY_LOCAL_MACHINE\SOFTWARE\Classes是一樣的,但是在HKEY_CLASSES_ROOT窗編輯相對來說顯得更容易和有條理。這里定義了每個類型的文件用什么程序打開(文件關聯問題),文件的圖標是什么等,也就是說:文件和應用程序之間所有的擴展名的關聯,可以在該注冊表更容易和有條理的告知系統(tǒng)什么文件用什么命令(程序)處理。
HKEY_CLASSES_ROOT\* :*代表所有的文件,不匹配擴展名。如果想要針對指定類型,只需要在Root下添加該擴展名類型的項。
HKEY_CLASSES_ROOT\Directory:Directory代表目錄,選擇目錄時會在右鍵菜單顯示該注冊表下shell定義的命令。
也就是說,如果想要選中文件或文件夾右鍵屬性出現我們想要的菜單指令,只需要在HKEY_CLASSES_ROOT\*\shell和HKEY_CLASSES_ROOT\Directory\shell下 創(chuàng)建菜單命令。
3. 創(chuàng)建“QrShare分享”的右鍵菜單
3.1 在HKEY_CLASSES_ROOT\*\shell下新建項:QrShare
3.2 指定菜單的運行命令
在HKEY_CLASSES_ROOT\*\shell\QrShare下創(chuàng)建command項
修改默認值:選擇的文件點擊“QrShare分享”會通過該exe程序處理。
3.3 設置菜單屬性:圖標、顯示名稱
新建字符串值,名稱為icon,值為:ico文件路徑或者exe文件路徑,我填寫的是"D:\public\bin\QrShare.exe",因為exe文件里有ico文件,會自動識別。
新建字符串值,名稱為MUIVerb,值為:QrShare分享
其他屬性(新建字符串值):
取系統(tǒng)圖標Icon: C:\Windows\system32\shell32.dll,1菜單位置Position: Top 或者 Bottom按SHIFT鍵時才顯示Extended (值為空字符串即可)在之后添加分隔符SeparatorAfter (值為空字符串即可)在之前添加分隔符SeparatorBefore (值為空字符串即可) |
4. 結果驗證
選擇一個文件,右鍵屬性,會看的"QrShare分享"的右鍵菜單。
菜單的圖標和名稱都能正常顯示出來,文件也的卻被我的小程序處理了。
5. 選擇文件夾也希望出現右鍵菜單
只需要把HKEY_CLASSES_ROOT\*\shell 更換成HKEY_CLASSES_ROOT\Directory\shell,然后按照步驟1,步驟2,步驟3,步驟4 執(zhí)行即可。
為了節(jié)省時間和廢話,我們直接接著一級菜單后面接著做,下面我們先看看效果圖。
1. 添加SubCommands,指定 子菜單
子菜單命令的shell定義在以下路徑:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\
2. 創(chuàng)建子菜單的shell命令:QrShare_Execute和QrShare_Open
注意:子菜單的項名必須和SubCommands 保持一致。
案例:
注:無能用MUIVerb 項來顯示菜單名稱,否則桌面無法顯示菜單。 |
IT視頻教程集合:http://blog.sina.com.cn/s/blog_189450fd80102xp2f.html
原文地址:https://blog.csdn.net/qq_25166683/article/details/81352868
聯系客服