Board logo

标题: [其他] 批处理实现动态菜单,支持后台 [打印本页]

作者: happy886rr    时间: 2017-4-10 01:00     标题: 批处理实现动态菜单,支持后台

用批处理也能做大事,借助pmos这个强大的鼠标第三方,批处理也能实现wpf那种分类菜单。以下只是个举例,可以实现非常复杂的动态菜单效果,完全借助鼠标的浮动,无需点击。开启批处理菜单新时代。
演示文件下载链接: https://pan.baidu.com/s/1EWQAerFOb4LslvS271rHLg?pwd=mwb5
  1. @echo off&setlocal enabledelayedexpansion
  2. mode con cols=80 lines=25
  3. ::*************************************
  4. REM 设置菜单宽高
  5. set WITH=116
  6. set HIGH=33
  7. REM 开启画质增强
  8. set F1=1
  9. ::*************************************
  10. :MENU
  11. echo   __________________                                
  12. echo  ^|     1区域        ^|                              
  13. echo  ^|__________________^|                              
  14. echo;                                                      
  15. echo;                                                      
  16. echo   __________________                              
  17. echo  ^|     2区域        ^|                              
  18. echo  ^|__________________^|                              
  19. echo;                                                      
  20. echo;                                                      
  21. echo   __________________                              
  22. echo  ^|     3区域        ^|                              
  23. echo  ^|__________________^|                              
  24. goto :MAIN
  25. :MENU1
  26. echo   __________________          ________________
  27. echo  ^|     1区域        ^| ==^>    ^|^>^>^>             ^|
  28. echo  ^|__________________^|        ^| 1.1西红柿      ^|
  29. echo                              ^| 1.2黄瓜        ^|
  30. echo                              ^| 1.3白菜        ^|
  31. echo   __________________         ^|________________^|     
  32. echo  ^|     2区域        ^|                                 
  33. echo  ^|__________________^|                                 
  34. echo;                                                         
  35. echo;                                                      
  36. echo   __________________                                    
  37. echo  ^|     3区域        ^|                              
  38. echo  ^|__________________^|                              
  39. goto :EOF
  40. :MENU2
  41. echo   __________________                              
  42. echo  ^|     1区域        ^|                              
  43. echo  ^|__________________^|                              
  44. echo;                                                      
  45. echo;                                                      
  46. echo   __________________          ________________           
  47. echo  ^|     2区域        ^| ==^>    ^|^>^>^>             ^|
  48. echo  ^|__________________^|        ^| 2.1鱼肉        ^|
  49. echo                              ^| 2.2熊掌肉      ^|
  50. echo                              ^| 2.3鸭肉        ^|
  51. echo   __________________         ^|________________^|
  52. echo  ^|     3区域        ^|                                
  53. echo  ^|__________________^|                              
  54. goto :EOF
  55. :MENU3
  56. echo   __________________                              
  57. echo  ^|     1区域        ^|                              
  58. echo  ^|__________________^|                              
  59. echo;                                                      
  60. echo;                                                      
  61. echo   __________________                              
  62. echo  ^|     2区域        ^|                              
  63. echo  ^|__________________^|         ________________  
  64. echo                              ^|^>^>^>             ^|
  65. echo                              ^| 3.1苹果        ^|
  66. echo   __________________         ^| 3.2水蜜桃      ^|
  67. echo  ^|     3区域        ^| ==^>    ^| 3.3橙子        ^|
  68. echo  ^|__________________^|        ^|________________^|
  69. goto :EOF
  70. :MAIN
  71. for /l %%N in (1,1,300 ) do (
  72. set "SPACE=!SPACE!"
  73. )
  74. for /l %%a in () do (
  75. pmos /f 15,17,%WITH%,%HIGH% 15,94,%WITH%,%HIGH% 15,176,%WITH%,%HIGH%
  76. set NowErrorlevel=!errorlevel!
  77. title 鼠标在!NowErrorlevel!区域
  78. if !PreErrorlevel! neq !NowErrorlevel! (
  79. set PreErrorlevel=!NowErrorlevel!
  80. if !F1! equ 1 (
  81. 2>NUL echo !SPACE!&set/p=<NUL
  82. ) else (
  83. cls
  84. )
  85. call :MENU!NowErrorlevel!
  86. )
  87. )
复制代码

作者: 老刘1号    时间: 2017-4-22 12:41

厉害!测试了,原来批还可以这样!
作者: happy886rr    时间: 2017-4-22 18:27

回复 2# 老刘1号
嗯,我已经不再研究批处理和C语言了,转为研究新的更奇异的技术,一种自己能够自我完善的语言,类似人类的新陈代谢。
作者: 523066680    时间: 2017-4-22 18:34

回复 3# happy886rr


    渡劫升仙
作者: mountainbear    时间: 2017-4-26 17:42

回复 3# happy886rr


  怎么个思路,老厉害了
作者: codegay    时间: 2017-4-26 17:47

回复 3# happy886rr


    元胞自动机?




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