Board logo

标题: [注册表类] 批处理如何在右键菜单中添加一键清空剪贴板的功能? [打印本页]

作者: z95776440    时间: 2009-5-15 16:17     标题: 批处理如何在右键菜单中添加一键清空剪贴板的功能?

能不能添加到右键菜单  实现一键清空剪贴板的效果
作者: tireless    时间: 2009-5-15 21:33

  1. Windows Registry Editor Version 5.00
  2. ; 清空剪贴板_空白处右键_添加.reg
  3. [HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\ClearClipboard]
  4. @="{00000000-0000-0000-0000-000000000012}"
  5. [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\InProcServer32]
  6. @=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,32,5c,73,\
  7.   68,64,6f,63,76,77,2e,64,6c,6c,00
  8. "ThreadingModel"="Apartment"
  9. [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance]
  10. "CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"
  11. [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag]
  12. "method"="ShellExecute"
  13. "Param2"="mshta"
  14. "Param1"="vbscript:clipboardData.clearData()(close)"
  15. "command"="清空剪贴板"
  16. "CLSID"="{13709620-C279-11CE-A49E-444553540000}"
复制代码
  1. Windows Registry Editor Version 5.00
  2. ; 清空剪贴板_空白处右键_删除.reg
  3. [-HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\ClearClipboard]
  4. [-HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}]
复制代码
——————————————————————————————————————
  1. Windows Registry Editor Version 5.00
  2. ; 清空剪贴板_所有文件右键_添加.reg
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\Shell\ClearClipboard]
  4. @="清空剪贴板"
  5. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\Shell\ClearClipboard\command]
  6. @="mshta vbscript:clipboardData.clearData()(close)"
复制代码
  1. Windows Registry Editor Version 5.00
  2. ; 清空剪贴板_所有文件右键_删除.reg
  3. [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\Shell\ClearClipboard]
复制代码

作者: z95776440    时间: 2009-5-16 08:48

谢谢  用的第一组代码好用   还有个问题求教   原来我右键菜单里有“右键菜单 显示隐藏扩展名及文件.bat”添加上“清空剪贴板的右键”后  那个“右键菜单 显示隐藏扩展名及文件”没了  如何改才能两个都有   望高手赐教  不胜感激  先谢过了
作者: Batcher    时间: 2009-5-16 09:14     标题: 回复 3楼 的帖子

“显示隐藏扩展名及文件.bat”右键菜单是如何加上去的?那个批处理文件内容是啥?
作者: tireless    时间: 2009-5-16 09:50     标题: 回复 3楼 的帖子

好像只能添加一个空白处右键菜单...
——————————————————————————————————————
运行这个命令可以添加“运行”菜单到空白处右键,但之前的“清空剪贴板”又会没了:
  1. reg add HKCR\Directory\Background\shellex\ContextMenuHandlers\0 /f /ve /d {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
复制代码
删除“运行”:
  1. reg delete HKCR\Directory\Background\shellex\ContextMenuHandlers\0 /f
复制代码
——————————————————————————————————————
添加“清空回收站”倒是不会覆盖原有菜单:
  1. reg add HKCR\Directory\Background\shellex\ContextMenuHandlers\RecycleBin /f /ve /d {645FF040-5081-101B-9F08-00AA002F954E}
复制代码
删除“清空回收站”:
  1. reg delete HKCR\Directory\Background\shellex\ContextMenuHandlers\RecycleBin /f
复制代码

[ 本帖最后由 tireless 于 2009-5-16 09:52 编辑 ]
作者: z95776440    时间: 2009-5-16 13:07     标题: 回复 4楼 的帖子

显示隐藏扩展名及文件.bat   内容如下:
  1. @echo off
  2. mode con cols=41 lines=4
  3. title 右键菜单 显示/隐藏扩展名及文件
  4. color 0b
  5. if not exist "%windir%\SuperHidden.vbs" goto setup
  6. reg delete "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}" /f >nul 2>nul
  7. del /f /q "%windir%\SuperHidden.vbs" >nul 2>nul
  8. echo.&echo 卸除完毕。
  9. pause>nul
  10. exit
  11. :setup
  12. color 0a
  13. >"%windir%\SuperHidden.vbs" echo Dim WSHShell
  14. >>"%windir%\SuperHidden.vbs" echo Set WSHShell = WScript.CreateObject("WScript.Shell")
  15. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\CLSID", "{13709620-C279-11CE-A49E-444553540000}", "REG_SZ"
  16. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\method", "ShellExecute", "REG_SZ"
  17. >>"%windir%\SuperHidden.vbs" echo if WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt") = 0 then
  18. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "0", "REG_DWORD"
  19. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "2", "REG_DWORD"
  20. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "1", "REG_DWORD"
  21. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\command", "显示", "REG_SZ"
  22. >>"%windir%\SuperHidden.vbs" echo WSHShell.SendKeys "{F5}+{F10}e"
  23. >>"%windir%\SuperHidden.vbs" echo else
  24. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "1", "REG_DWORD"
  25. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "1", "REG_DWORD"
  26. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "0", "REG_DWORD"
  27. >>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\command", "隐藏", "REG_SZ"
  28. >>"%windir%\SuperHidden.vbs" echo WSHShell.SendKeys "{F5}+{F10}e"
  29. >>"%windir%\SuperHidden.vbs" echo end if
  30. >>"%windir%\SuperHidden.vbs" echo Set WSHShell = Nothing
  31. >>"%windir%\SuperHidden.vbs" echo WScript.Quit(0)
  32. reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" "%temp%\__.reg" >nul
  33. for /f "tokens=2 delims==" %%. in ('find/i "HideFileExt" "%temp%\__.reg"') do set v=%%~.
  34. del "%temp%\__.reg"
  35. set v=%v:~-1%
  36. if %v% equ 0 set vv=隐藏
  37. if %v% equ 1 set vv=显示
  38. >"%temp%\_.reg" echo REGEDIT4
  39. >>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\SuperHidden]
  40. >>"%temp%\_.reg" echo @="{00000000-0000-0000-0000-000000000012}"
  41. >>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\InProcServer32]
  42. >>"%temp%\_.reg" echo @=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,32,5c,73,\
  43. >>"%temp%\_.reg" echo   68,64,6f,63,76,77,2e,64,6c,6c,00
  44. >>"%temp%\_.reg" echo "ThreadingModel"="Apartment"
  45. >>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance]
  46. >>"%temp%\_.reg" echo "CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"
  47. >>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag]
  48. >>"%temp%\_.reg" echo "method"="ShellExecute"
  49. >>"%temp%\_.reg" echo "Param1"="SuperHidden.vbs"
  50. >>"%temp%\_.reg" echo "CLSID"="{13709620-C279-11CE-A49E-444553540000}"
  51. >>"%temp%\_.reg" echo "command"="%vv%"
  52. regedit /s "%temp%\_.reg"
  53. del /f /q "%temp%\_.reg"
  54. echo.&echo 已添加右键 %vv% 。
  55. pause>nul
  56. exit
复制代码

[ 本帖最后由 z95776440 于 2009-5-18 09:03 编辑 ]
作者: Batcher    时间: 2009-5-16 13:10     标题: 回复 6楼 的帖子

本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;


Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
作者: z95776440    时间: 2009-5-18 09:04

学习了半天才改正过来




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2