软件绿化之注册表右键菜单
在绿化Unlocker 1.9.1时,在绿化后,发现系统右键菜单没有了,于是研究了一番注册表。才发现,其实给系统添加右键菜单其实很简单。
右键菜单一
在所有文件上添加右键菜单
HKEY_CLASSES_ROOT/*/shell/程序名称/command 在所有文件的右键都添加菜单
例如
reg add "HKEY_CLASSES_ROOT/*/shell/Unlocker 1.9.1/command" /ve /d "/"%cd%/Unlocker.exe/" %%0 " /f 在所有文件的右键都添加Unlocker 菜单,
reg add "HKEY_CLASSES_ROOT/*/shell/notepad++/command" /ve /d "/"%cd%/notepad++.exe/" %%0 " /f 在所有文件的右键都添加notepad++菜单
在所有文件夹上上添加右键菜单
HKEY_CLASSES_ROOT/Directory//shell/程序名称/command 在所有文件的右键都添加菜单
例如
reg add "HKEY_CLASSES_ROOT/Directory/shell/Unlocker 1.9.1/command" /ve /d "/"%cd%/Unlocker.exe/" %%V " /f
在所有驱动器上上添加右键菜单
HKEY_CLASSES_ROOT/Drive//shell/程序名称/command 在所有文件的右键都添加菜单
例如
reg add "HKEY_CLASSES_ROOT/Directory/shell/Unlocker 1.9.1/command" /ve /d "/"%cd%/Unlocker.exe/" %%V " /f
虽然文件夹和Directory和驱动器Drive对我们来说都是一样的,但在此处还是有点不一起样,如果不在 HKEY_CLASSES_ROOT/Drive//shell/上添加在驱动器盘符上的右键就没有右键菜单,这也是自己一点点试验出来的。
其实还有一个 HKEY_CLASSES_ROOT/fold/shell/不指导是干什么用的。
Unlocker 1.9.1绿化的bat文件
[plain]
regsvr32 /s UnlockerCOM.dll
reg add "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/Unlocker" /v Language /t REG_SZ /d "2052" /f>NUL
cd /d %~dp0
reg add "HKEY_CLASSES_ROOT/*/shell/Unlocker 1.9.1/command" /ve /d "/"%cd%/Unlocker.exe/" %%0 " /f
reg add "HKEY_CLASSES_ROOT/Directory/shell/Unlocker 1.9.1/command" /ve /d "/"%cd%/Unlocker.exe/" %%V " /f
reg add "HKEY_CLASSES_ROOT/Drive/shell/Unlocker 1.9.1/command" /ve /d "/"%cd%/Unlocker.exe/" %%V " /f
右键菜单二
在处理好压时,发现还有一种右键菜单
bat文件为,至于有什么不一样,自己目前还没有研究明白
[plain]
regsvr32 HaoZipExt.dll
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shellex/ContextMenuHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shellex/DragDropHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shellex/PropertySheetHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Directory/shellex/ContextMenuHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Directory/shellex/DragDropHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/ShellEx/ContextMenuHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/ShellEx/DragDropHandlers/HaoZip" /ve /d "{5FED836A-C96C-4d88-A91E-F63F07726585}" /f
仔细观察就会发现添加右键菜单文件和文件夹的参数不一样一个是%0表示传递的是文件名称,一个是%V,表示传递的是文件夹的名称,如何把%V 写为%0意思就完全不一样了。