Board logo

标题: [其他] ConsExt .exe 1.1(批处理界面工具) [打印本页]

作者: czl1378    时间: 2009-7-8 16:45     标题: ConsExt .exe 1.1(批处理界面工具)

http://bcn.bathome.net/s/tool/index.html?key=ConsExt

抱歉,来晚了.这2天在家里把ConsExt.exe重写了一遍.

这个是1.1的版本,与"小强系统优化工具4.0"(以下简称 小强4.0)里面的ConsExt.exe不能混用.

取消了dc画图,就是小强4.0里面的焦点矩形.优化了代码.调用方式更规范,更人性化.

压缩包里面附带了使用方法,这里就不再说明了.

推荐大家去看defanive的 第三方命令行工具编程:Http://Console.Dec.Cn 自己做的命令永远是最合适的.

祝大家早日做出自己的命令行.
ConsExt.exe,批处理界面工具。 版本:1.1
/? 显示帮助。
/echo 输出一行字符串。
/window 显示一个窗口。
/box 显示一个矩形框。
/button 显示一个按钮。
/msg 显示一个消息框。
/prog 显示一个进度框。
/listbox 显示一个列表框。
/fillrect 用指定颜色填充一片矩形区域。
/showtime 显示时间。
/sleep 延时。
/event 获取键盘鼠标事件。
/flashwindow 使窗口闪烁。
/crv 隐藏/显示插入符。
/pos 设置插入符位置。
/close 关闭窗口,并退出由start "NewThread" /b 方式调用的程序 。
/ptinrect 检测一个点是否在矩形区域内。通常配合ConsExt /event检测鼠标是否点击到某
块区域。
具体用法请输入/参数 /?查看。
说明:程序中“窗口”、“按钮”、“消息框”、“进度条”等均是采用字符表示。









★"ConsExt用法演示"勘误:

1.获取mouseY值的错误(感谢网友ZJHJ发现此错误.):

键盘鼠标事件演示里的代码:
  1. ConsExt /event
  2. set /a ret=%errorlevel%
  3. if %ret% geq 1000 (
  4. set /a "mouseY=ret%1000"
  5. set /a "mouseX=(ret-mouseY-1000)/1000"
  6. echo 鼠标点击在!mouseX!,!mouseY!。
  7. ) else (
  8.   if %ret% equ 27 echo 你按下了返回键。
  9. if %ret% equ 37 echo 你按下了左键。
  10.   if %ret% equ 38 echo 你按下了上键。
  11.   if %ret% equ 39 echo 你按下了右键。
  12. if %ret% equ 37 echo 你按下了下键。
  13.   if %ret% equ 13 echo 你按下了回车键。
  14. echo 键盘码:%ret%
  15. )
  16. pause
复制代码
其中 set /a "mouseY=ret%1000" 应该是 set /a "mouseY=ret%%1000" 才对.

2.待发现...
作者: defanive    时间: 2009-7-8 17:00

下载地址?有这个我就懒得自己写了
作者: czl1378    时间: 2009-7-8 17:51

晕..刚刚不是放附件里面了么..
作者: czl1378    时间: 2009-7-8 18:04     标题: 回复 2楼 的帖子

还不是你那个cext老不更新,把俺逼急了就自己写了个.
作者: tireless    时间: 2009-7-8 18:17

如果开启了“cmd属性→快速编辑模式”,鼠标左键会无法点击
作者: BAT1    时间: 2009-7-8 22:18

/event 获取键盘鼠标事件。
鼠标的左键没问题,右键按下去没反应啊。
作者: czl1378    时间: 2009-7-9 11:53

只支持键盘按下和左键单击.不过说来右键事件好像没什么用.后面的版本会慢慢完善的.
作者: BAT1    时间: 2009-7-9 22:30

鼠标总共才两个键,把右键事件放进去应该难不倒楼主吧?
另外,是否支持同时按下键盘的几个按键?就像CTRL+ALT+DEL这种
  因为XP既然设计出这个功能
   就说明总有他存在的道理……
作者: defanive    时间: 2009-7-9 23:31

8L如果单纯需要支持鼠标多键的话可以看看Cmos2.0b,http://bbs.bathome.net/thread-3148-1-1.html
作者: czl1378    时间: 2009-7-10 10:10     标题: 回复 8楼 的帖子

额。。下一版一定加入。感谢使用。
作者: ZJHJ    时间: 2009-7-11 23:18

如果和C系列相比,我感觉ConsExt .exe占用CPU较小
作者: czl1378    时间: 2009-7-12 09:44

ConsExt主要是为界面而写的.

虽然很多人反对这种"华而不实"的东东.但是像这种存在交互类的批处理,我一直对要求输入"1,2,3....a,b,c..."之类的很反感..
我不觉得这种效果多"华",而且也不见得不"实".
你要与用户互动,必然是想给他更好的体验.我只是这样做了.

希望大家不要再对这种涉及到第三方程序的批处理存在任何反感.各有所需而已.
作者: ZJHJ    时间: 2009-7-14 09:01

请问 [楼主]
简单说,我想用“输出一行字符”的功能,输出多行字符(界面功能表)。就是界面功能表是多行多列,如何用鼠标获取指定行列??以便GOTO标签执行程序???
(看重优点:占用CPU很小)

[ 本帖最后由 ZJHJ 于 2009-7-14 09:19 编辑 ]
作者: czl1378    时间: 2009-7-14 09:16

结合ptinrect来检测指定点是否在一个区域内,如果是则返回1,否则返回0.具体用法请输入ConsExt /ptinrect /?查看.
作者: ZJHJ    时间: 2009-7-14 11:58

就是界面功能表是多行多列,如何用鼠标点击操作?
作者: ZJHJ    时间: 2009-7-14 16:29

@echo off
setlocal ENABLEDELAYEDEXPANSION
ConsExt /event
set /a ret=%errorlevel%
if %ret% geq 1000 (
        set /a "mouseY=ret%1000"
        set /a "mouseX=(ret-mouseY-1000)/1000"
        echo 鼠标点击在!mouseX!,!mouseY!。
) else (
        if %ret% equ 27 echo 你按下了返回键。
        if %ret% equ 37 echo 你按下了左键。
        if %ret% equ 38 echo 你按下了上键。
        if %ret% equ 39 echo 你按下了右键。
        if %ret% equ 37 echo 你按下了下键。
        if %ret% equ 13 echo 你按下了回车键。
        echo 键盘码:%ret%
)

为什么!mouseX!正确 ,为什么 !mouseY!=0  ??????

------------------------

以上问题我已经坚决了,X   Y 我用变量截取。也取消了setlocal

[ 本帖最后由 ZJHJ 于 2009-7-17 06:55 编辑 ]
作者: czl1378    时间: 2009-7-15 18:59

因此贴词不答意,已删除.

[ 本帖最后由 czl1378 于 2009-7-16 15:44 编辑 ]
作者: czl1378    时间: 2009-7-16 15:22     标题: 回复 16楼 的帖子

不好意思,昨天没翻到第2页.没看到你16楼的帖子.只看到了15楼的.
set /a "mouseY=ret%%1000"才对.
记住哦,2个百分号.
作者: czl1378    时间: 2009-7-16 15:42

因为最近在找工作,所以ConsExt一直没更新.不好意思.
作者: ZJHJ    时间: 2009-7-17 07:20

建议取消延迟变量(获取键盘鼠标事件),因为有多处goto者可能会带来麻烦
作者: 2oo9    时间: 2009-8-16 21:15

嗯,不错,很好很强大。谢谢LZ了。
作者: Seter    时间: 2009-8-17 09:42

我想来小水一下...
首先果然是恐怖的小强...
还有DEF你的C系列很受欢迎么...那个大杂烩啥时发出啊..
还有啊,console.dec.cn你哪里弄来的,我去看www,dec,cn是痔疮网站....
作者: defanive    时间: 2009-8-17 10:34

不受欢迎,因为有点占CPU。。。
那个域名是在www.meibu.com上注册的。。。
dec.cn是旗下的一个域名,可以注册二级。。。
其实以前还有个console.cn.ms,结果外国那烧饼网站不开了。。。
作者: huangmin1111    时间: 2009-8-19 02:19

这个很强大。不错。下载收藏。
作者: HAT    时间: 2009-8-29 15:07

ConsExt图形界面及鼠标坐标获取应用演示.bat
  1. :KK
  2. @echo off
  3. start "NewThread" /b ConsExt.exe /showtime 61 0 0 10 8 "本地时间:"
  4. color 0B
  5. @title  计算机系统维护  编辑 Wangwei QQ:251485609  %date%  %zcb%
  6. :KSY
  7. cls
  8. @echo       演示版                     系统维护功能表:
  9. @echo.    ╭━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╮
  10. @echo     ┃ 1  清除残留垃圾文件(修改版)           2  清除恶意程序(安全卫士360) ┃
  11. @echo.    ┃                                                                    ┃
  12. @echo     ┃ 3  设置(取消)软件“防火墙”限制病毒启动(预防或减少中毒)            ┃
  13. @echo.    ┃                                                                    ┃
  14. @echo     ┃ 4  exe、dll、inf 程序快照比较(检查是否被病毒修改)                  ┃
  15. @echo.    ┃                                                                    ┃
  16. @echo     ┃ 5  查看某天或之后生成的文件(默认所有日期及所有文件)                ┃
  17. @echo.    ┃                                                                    ┃
  18. @echo     ┃ 6  文件或系统备份(还原)               7  驱动程序备份(安装)        ┃
  19. @echo.    ┃                                                                    ┃
  20. @echo     ┃ 8  安装(卸载)一键GHOST备份            9  安装 影子系统(替身)       ┃
  21. @echo.    ┃                                                                    ┃
  22. @echo     ┃10  任意创建系统还原点                11  按清单搜索并自动删除文件  ┃
  23. @echo.    ┃                                                                    ┃
  24. @echo     ┃12  当前运行的程序信息(含查找某DLL)   13  检测收藏夹的有效连接      ┃
  25. @echo.    ┃                                                                    ┃
  26. @echo     ┃18  设置(解除)指定文件全属性          19  系统隐藏加锁(解锁)        ┃
  27. @echo.    ┃                                                                    ┃
  28. @echo     ┃23  文件加密解密及变化检查类          34  安全辅助工具 SREng        ┃
  29. @echo.    ┃                                                                    ┃
  30. @echo     ┃35  查看注册dll ocx exe组件           36  网络设置备份端口类        ┃
  31. @echo     ╰━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╯
  32. ConsExt /fillrect 3 1 74 23 1 15
  33. set ceo=ConsExt /echo
  34. %ceo% 73 23 11 13 "下 页"
  35. ::获取鼠标坐标
  36. ConsExt /event
  37.   set /a sbs=%errorlevel%+1
  38.   set  mX=%sbs:~0,-3%
  39.   set  mY=%sbs:~-2,2%
  40.         @echo  坐标 ( X %mX%, Y %mY% )
  41.   set wX=X%mX%
  42.   set wY=Y%mY%
  43. @echo 鼠 %wX%    %wY%
  44. ::鼠标坐标判断
  45. if %sbs% EQU 14  goto KK
  46.         if %mX% LSS 35 if %mY%==03 @echo  1
  47.         if %mX% GTR 45 if %mY%==03 @echo  2
  48.         if %mX% LSS 60 if %mY%==05 @echo  3
  49.         if %mX% LSS 55 if %mY%==07 @echo  4
  50.         if %mX% LSS 57 if %mY%==09 @echo  5
  51.         if %mX% LSS 35 if %mY%==11 @echo  6
  52.         if %mX% GTR 45 if %mY%==11 @echo  7
  53.         if %mX% LSS 35 if %mY%==13 @echo  8
  54.         if %mX% GTR 45 if %mY%==13 @echo  9
  55.         if %mX% LSS 35 if %mY%==15 @echo  10
  56.         if %mX% GTR 45 if %mY%==15 @echo  11
  57.         if %mX% LSS 35 if %mY%==17 @echo  12
  58.         if %mX% GTR 45 if %mY%==17 @echo  13
  59.         if %mX% LSS 35 if %mY%==19 @echo  18
  60.         if %mX% GTR 45 if %mY%==19 @echo  19
  61.         if %mX% LSS 35 if %mY%==21 @echo  23
  62.         if %mX% GTR 45 if %mY%==21 @echo  34
  63.         if %mX% LSS 35 if %mY%==23 @echo  35
  64.         if %mX% GTR 45 if %mY%==23 @echo  36
  65.         if %mX% GTR 73 if %mY%==24 goto KXY
  66. ping/n 3 127.1>nul>NUL
  67. goto kk
  68. :KXY
  69. @echo off
  70. CLS
  71. @echo.   ╭━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╮
  72. @echo    ┃ 24  系统默认共享(局域网共享设置)         26  修改TTL键值避免黑客攻击 ┃
  73. @echo.   ┃                                                                      ┃
  74. @echo    ┃ 27  收藏夹备份或恢复(D:\)                28  查看或设置系统启动项    ┃
  75. @echo.   ┃                                                                      ┃
  76. @echo    ┃ 29  当前运行的程序信息                   SJ  国家授时中心时间(校对)  ┃
  77. @echo.   ┃                                                                      ┃
  78. @echo    ┃ JD  删除快捷方式箭头或恢复               KX   快速终止指定以外的进程 ┃
  79. @echo.   ┃                                                                      ┃
  80. @echo    ┃ KJ  网络免费空间(上传下载)               ARP  局域网ARP木马检查      ┃
  81. @echo.   ┃                                                                      ┃
  82. @echo    ┃ 14  查找可疑程序         15  强行终止可疑进程      16  万能软件提取  ┃
  83. @echo.   ┃                                                                      ┃
  84. @echo    ┃ 30  进入事件查看器       31  反删除工具            32  微软安全扫描  ┃
  85. @echo.   ┃                                                                      ┃
  86. @echo    ┃ 33  程序活动信息查看     37  获取计算机资料信息    38  注册表快照比较┃
  87. @echo.   ┃                                                                      ┃
  88. @echo    ┃ 39  畸形文件夹目录       17  杀灭天王              20  系统修复      ┃
  89. @echo.   ┃                                                                      ┃
  90. @echo    ┃ bat 查看bat转exe 源代码  21  IE修复  22  注册表类  25  系统服务类    ┃
  91. @echo.   ┃                                                                      ┃
  92. @echo    ┃ yy  娱 乐(人机对战游戏)  ZY  局域网共享资源扫描    40   其    他     ┃
  93. @echo    ╰━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╯
  94. @echo                                                   原版演示
  95. ConsExt /fillrect 2 0 76 23 1 15
  96. ::set ceo=ConsExt /echo
  97. %ceo% 73 23 11 13 "上 页"
  98. ::获取鼠标坐标
  99. ConsExt /event
  100.   set /a sbs=%errorlevel%+1
  101.   set  mX=%sbs:~0,-3%
  102.   set  mY=%sbs:~-2,2%
  103.         @echo  坐标 ( X %mX%, Y %mY% )
  104. ::鼠标坐标判断
  105. if %sbs% EQU 14  goto KXY
  106.         if %mX% LSS 35 if %mY%==02 @echo  24
  107.         if %mX% GTR 45 if %mY%==02 @echo  26
  108.         if %mX% LSS 35 if %mY%==04 @echo  27
  109.         if %mX% GTR 45 if %mY%==04 @echo  28
  110.         if %mX% LSS 35 if %mY%==06 @echo  29
  111.         if %mX% GTR 45 if %mY%==06 @echo  SJ
  112.         if %mX% LSS 35 if %mY%==08 @echo  JD
  113.         if %mX% GTR 45 if %mY%==08 @echo  KX
  114.         if %mX% LSS 35 if %mY%==10 @echo  KJ
  115.         if %mX% GTR 45 if %mY%==10 @echo  ARP
  116.         if %mX% LSS 25 if %mY%==12 @echo 14
  117.         if %mX% LSS 50 if %mX% GTR 35 if %mY%==12 @echo 15
  118.         if %mX% GTR 57 if %mY%==12 @echo 16
  119.         if %mX% LSS 25 if %mX% GTR 3  if %mY%==14 @echo 30
  120.         if %mX% LSS 50 if %mX% GTR 35 if %mY%==14 @echo 31
  121.         if %mX% GTR 57 if %mY%==14 @echo 32
  122.         if %mX% LSS 25 if %mY%==16 @echo 33
  123.         if %mX% LSS 50 if %mX% GTR 35 if %mY%==16 @echo 37
  124.         if %mX% GTR 57 if %mY%==16 @echo 38
  125.         if %mX% LSS 25 if %mY%==18 @echo 39
  126.         if %mX% LSS 50 if %mX% GTR 35 if %mY%==18 @echo 17
  127.         if %mX% GTR 57 if %mY%==18 @echo 20
  128.         if %mX% LSS 25 if %mY%==20 @echo bat
  129.         if %mX% LSS 40 if %mX% GTR 31 if %mY%==20 @echo 21
  130.         if %mX% LSS 54 if %mX% GTR 45 if %mY%==20 @echo 22
  131.         if %mX% GTR 57 if %mY%==20 @echo 25
  132.         if %mX% LSS 25 if %mY%==22 @echo yy
  133.         if %mX% LSS 50 if %mX% GTR 35 if %mY%==22 @echo ZY
  134.         if %mX% GTR 57 if %mY%==22 @echo 40
  135.         if %mX% GTR 50 if %mX% LSS 57 if %mY%==24 goto jxys
  136.         if %mX% GTR 73 if %mY%==24 goto KK
  137. ping/n 1 127.1>nul>NUL
  138. goto KXY
  139. -----------------------------------------------------------------------------------
  140. :jxys
  141. ::原版演示
  142. @echo off
  143. setlocal ENABLEDELAYEDEXPANSION
  144. echo 下面将要演示ConsExt的用法。
  145. echo 你可以直接运行ConsExt.exe来查看用法,或者在Cmd里输入ConsExt /?。
  146. echo.
  147. pause
  148. cls
  149. echo 首先输出一行字符:
  150. echo ConsExt /echo x坐标 y坐标 背景色 文字颜色 要显示的文字 [字符串宽度] [对齐方式]
  151. echo.
  152. echo 示例:ConsExt /echo 3 2 11 13 "I love you!"
  153. echo 按任意键开始显示...
  154. pause>nul
  155. ConsExt /echo 3 2 11 13 "I love you!"
  156. echo.
  157. echo 看到了没?什么,没看到?
  158. echo 好吧,如果你没说谎,那就是ConsExt出问题了,请联系作者报告问题吧。
  159. echo 下面的演示如果有任何问题,都请与作者联系。QQ:378246800。谢谢。
  160. echo.
  161. pause
  162. cls
  163. echo 再来显示一个窗口:
  164. echo ConsExt /window x坐标 y坐标 宽度 高度 背景色 [标题] [顶部线条左边字符] [顶部线条中间字符] [顶部线条右边字符] [中间线条左边字符] [中间线条中间字符] [中间线条右边字符] [底部线条左边字符] [底部线条中间字符] [底部线条右边字符] [分割线左边字符] [分割线中间字符] [分割线右边字符]
  165. echo.
  166. echo 示例:ConsExt /window 5 4 20 15 11 "ConsExt"
  167. pause
  168. ConsExt /window 5 4 20 15 11 "ConsExt"
  169. pause>nul
  170. cls
  171. echo 再来改变下窗口样式:
  172. echo ConsExt /window 5 4 20 15 11 "ConsExt" "┌" "─" "┐" "│" "  " "│" "└" "─" "┘" "├" "─" "┤"
  173. pause
  174. ConsExt /window 5 4 20 15 11 "ConsExt" "┌" "─" "┐" "│" "  " "│" "└" "─" "┘" "├" "─" "┤"
  175. pause>nul
  176. cls
  177. echo 接下来显示一个矩形框:
  178. echo ConsExt /box  x坐标 y坐标 宽度 高度 背景色 前景色 [顶部线条左边字符] [顶部线条中间字符] [顶部线条右边字符] [中间线条左边字符] [中间线条中间字符] [中间线条右边字符] [底部线条左边字符] [底部线条中间字符] [底部线条右边字符]
  179. echo.
  180. echo 示例:ConsExt /box 5 4 20 15 11 0
  181. pause
  182. ConsExt /box 5 4 20 15 11 0
  183. pause>nul
  184. cls
  185. echo 显示一个按钮:
  186. echo ConsExt /button x坐标 y坐标 宽度 高度 背景色 边框色 标题 [标题颜色]
  187. echo.
  188. echo 示例:ConsExt /button 10 10 15 5 11 0 "按钮" 13
  189. pause
  190. ConsExt /button 10 10 15 5 11 0 "按钮" 13
  191. pause>nul
  192. cls
  193. echo 显示一个消息框:
  194. echo ConsExt /msg x坐标 y坐标 宽度 背景色 边框色 标题 提示 [提示颜色] [按钮个数(1或2)] [顶部线条左边字符] [顶部线条中间字符] [顶部线条右边字符] [中间线条左边字符] [中间线条中间字符] [中间线条右边字符] [底部线条左边字符] [底部线条中间字符] [底部线条右边字符] [分割线左边字符] [分割线中间字符] [分割线右边字符]
  195. echo.
  196. echo %errorlevel%表示返回值。如果返回值为1,说明选择了“确定”,如果返回2,说明选择了取消或点击了关闭。
  197. echo 示例:ConsExt /msg 1 1 20 11 0 MSG "消息框" 13 2
  198. pause
  199. ConsExt /msg 1 1 20 11 0 MSG "消息框" 13 2
  200. cls
  201. if %errorlevel% equ 1 echo 你选择了确定。
  202. if %errorlevel% equ 2 echo 你选择了取消或点击了关闭。
  203. pause
  204. cls
  205. echo 显示一个进度框:
  206. echo ConsExt /prog x坐标 y坐标 宽度 背景色 边框色 标题 提示 [提示颜色] [进度值] [是否画边框(1画,0不画)]  [顶部线条左边字符] [顶部线条中间字符] [顶部线条右边字符] [中间线条左边字符] [中间线条中间字符] [中间线条右边字符] [底部线条左边字符] [底部线条中间字符] [底部线条右边字符] [分割线左边字符] [分割线中间字符] [分割线右边字符]
  207. echo.
  208. echo 示例:显示一个进度框,它的值从1-100。
  209. echo ConsExt /prog 10 10 20 11 0 "进度条" "正在开始下次演示...0%%" 1 0 1
  210. echo for /l %%i in (1,1,100) do (
  211. echo         ConsExt /prog 10 10 20 11 0 "进度条" "正在开始下次演示...%%i%%" 1 %%i 0
  212. echo )
  213. echo 为了避免闪烁,只在循环外画一次边框。
  214. pause
  215. ConsExt /prog 10 10 20 11 0 "进度条" "正在开始下次演示...0%%" 1 0 1
  216. for /l %%i in (1,1,100) do (
  217.         ConsExt /prog 10 10 20 11 0 "进度条" "正在开始下次演示...%%i%%" 1 %%i 0
  218. )
  219. cls
  220. echo 显示一个列表框:
  221. echo ConsExt /listbox x坐标 y坐标 宽度 高度 背景色 边框色 文字颜色 [列表项1-9]
  222. echo.
  223. echo 示例:ConsExt /listbox 10 10 20 12 11 0 13 "列表1" "列表2" "列表3" "列表4" "列表5" "列表6" "列表7" "列表8" "列表9"
  224. pause
  225. ConsExt /listbox 10 10 20 12 11 0 13 "列表1" "列表2" "列表3" "列表4" "列表5" "列表6" "列表7" "列表8" "列表9"
  226. pause>nul
  227. cls
  228. echo 用指定颜色填充一块矩形区域:
  229. echo ConsExt /fillrect 矩形区左边坐标 矩形区顶部坐标 矩形区右边坐标 矩形区底部坐标 背景色 前景色
  230. echo.
  231. echo 示例:ConsExt /fillrect 10 1 30 15 14 13
  232. pause
  233. ConsExt /fillrect 10 1 30 15 14 13
  234. pause>nul
  235. cls
  236. echo 延时:
  237. echo ConsExt /sleep 毫秒数
  238. echo.
  239. echo 示例:ConsExt /sleep 1000
  240. pause
  241. echo 开始延时。
  242. ConsExt /sleep 1000
  243. echo 延时完毕。
  244. pause
  245. cls
  246. echo 获取键盘鼠标事件:
  247. echo ConsExt /event
  248. echo.
  249. echo 示例:
  250. echo :loop
  251. echo ConsExt /event
  252. echo set /a ret=%%errorlevel%%
  253. echo if %ret% geq 1000 (
  254. echo         set /a "mouseY=ret%%1000"
  255. echo        set /a "mouseX=(ret-mouseY-1000)/1000"
  256. echo        鼠标点击在!mouseX!,!mouseY!。
  257. echo ) else (
  258. echo         if %ret% equ 27 echo 你按下了返回键。
  259. echo        if %ret% equ 37 echo 你按下了左键。
  260. echo         if %ret% equ 38 echo 你按下了上键。
  261. echo         if %ret% equ 39 echo 你按下了右键。
  262. echo        if %ret% equ 37 echo 你按下了下键。
  263. echo         if %ret% equ 13 echo 你按下了回车键。
  264. echo        echo 键盘码:%ret%
  265. echo )
  266. pause
  267. echo 开始检测键盘鼠标事件。
  268. :loop
  269. ConsExt /event
  270. set /a ret=%errorlevel%
  271. if %ret% geq 1000 (
  272.         set /a "mouseY=ret%%1000"
  273.         set /a "mouseX=(ret-mouseY-1000)/1000"
  274.         echo 鼠标点击在!mouseX!,!mouseY!。
  275. ) else (
  276.         if %ret% equ 27 echo 你按下了返回键。
  277.         if %ret% equ 37 echo 你按下了左键。
  278.         if %ret% equ 38 echo 你按下了上键。
  279.         if %ret% equ 39 echo 你按下了右键。
  280.         if %ret% equ 37 echo 你按下了下键。
  281.         if %ret% equ 13 echo 你按下了回车键。
  282.         echo 键盘码:%ret%
  283. )
  284. pause
  285. cls
  286. echo 使窗口闪烁:
  287. echo ConsExt /flashwindow
  288. echo.
  289. echo 示例:ConsExt /flashwindow
  290. pause
  291. echo 闪烁窗口。
  292. ConsExt /flashwindow
  293. echo 闪烁完毕。
  294. pause
  295. cls
  296. echo 隐藏/显示插入符:
  297. echo ConsExt /crv [显示(0)/隐藏(1)]
  298. echo.
  299. echo 示例:ConsExt /crv 0
  300. pause
  301. echo 隐藏插入符。
  302. ConsExt /crv 0
  303. pause
  304. echo 显示插入符。
  305. ConsExt /crv 1
  306. pause
  307. cls
  308. echo 设置插入符位置:
  309. echo ConsExt /pos x坐标 y坐标
  310. echo.
  311. echo 示例:ConsExt /pos 20 20
  312. pause
  313. ConsExt /pos 20 20
  314. pause
  315. cls
  316. echo 检测一个点是否在矩形区域内:
  317. echo ConsExt /ptinrect x坐标 y坐标 矩形区左边坐标 矩形区顶部坐标 矩形区右边坐标 矩形区底部坐标
  318. echo.
  319. echo 示例:没有。
  320. pause
  321. cls
  322. echo 显示时间:
  323. echo ConsExt /showtime x坐标 y坐标 背景色 前景色 [时区+] [提示]
  324. echo.
  325. echo 注意:须用start "NewThread" /b 的形式采用新线程开启,不然就没有意义。
  326. echo 结束程序用ConsExt /close发送WM_CLOSE消息结束。
  327. echo.
  328. echo 示例:start "NewThread" /b ConsExt.exe /showtime 10 10 1 15 8 "本地时间:"
  329. pause
  330. start "NewThread" /b ConsExt.exe /showtime 10 10 1 15 8 "本地时间:"
  331. pause
  332. cls
  333. echo 关闭窗口,并退出由start "NewThread" /b 方式调用的程序 :
  334. echo ConsExt /close
  335. echo.
  336. echo 示例:ConsExt /close
  337. pause
  338. ConsExt /close
复制代码
转自:http://www.cn-dos.net/forum/viewthread.php?tid=46783
作者: czl1378    时间: 2009-9-13 18:10

太好了。楼上好人
作者: ZJHJ    时间: 2010-5-21 11:11

非常很希望 czl1378 [楼主] 能够放一个单独的 体积很小的 CMD鼠标获取程序。
以下这个体积很小,但是启用的ntvdm.exe占用cpu太高(几呼100%),操作中非常卡。[楼主] 原来的ConsExt.exe很好用,启用的ntvdm.exe不占用cpu,但是,200Kb实在太大,不能用debug-dw装入bat(极限值2.5K)
@echo off
title 鼠标三方演示批处理
(chcp 437 &graftabl 936)>nul
SET SYB=A100;0AEB 3030 3020 2030 3030 2420 00B8 CD00;B833 0001 33CD 05B8 CD00 A933 0007 F674;E086 300D A330 0102 C889 08B3 18E8 A300;0105 D089 08B3 0EE8 A300 0108 09B4 02BA;CD01 B421 CD4C F621 08F3 74E4 FE02 FEC0;88C0 B1C4 D204 25E8 0F0F 300D 3C30 7639;0402 8007 39FC 0376 C480 C307  ;
SET V=;RCX;006C;N mouse.com;W;Q
(ECHO.%SYB:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
:lp
cls
echo.
echo   鼠标点击窗口
echo.                                                  点击这里关闭窗口
echo.                            查看代码
echo.
echo           X %X%       Y %Y%
for /f "tokens=1-3" %%1 in ('mouse.com') do (set /a X=0x%%2,Y=0x%%3)
if %X% GTR 51 if %X% LSS 65  if %Y% EQU 03 goto we
if %X% GTR 29 if %X% LSS 36  if %Y% EQU 04 goto ck
goto :lp
:ck
start mrt.exe  %0
goto :lp
:we
Exit
作者: cyxgg    时间: 2011-4-23 18:21

看看。。。
作者: cyxgg    时间: 2011-4-23 18:21

看看。。。
作者: 598782168    时间: 2012-7-13 20:41

本帖最后由 598782168 于 2017-2-1 17:11 编辑

..........
作者: 一马平川_陈    时间: 2012-12-30 20:51

支持支持个
作者: tengqisz    时间: 2013-3-7 23:43

据说win7会报错,LZ有没有更新的打算啊。。
作者: zhangzsky    时间: 2015-3-15 10:14

回复 1# czl1378


    win@7提示停止,uac或权限不足?
望更新
作者: 墨雪SEED    时间: 2015-7-24 15:59

希望能开发一个不需要net3.5的版本出来
作者: wikou    时间: 2015-10-3 00:43

ConsExt .exe不知道用来干嘛的
作者: 188001025    时间: 2016-7-20 16:47

怎么弄按钮啊?会闪退啊!
作者: aswasw    时间: 2017-9-21 14:38

一直很喜欢这个,只是突然发现win8~win10的cmd用不了,,会报错,,能更新一下吗?
作者: 1055367558    时间: 2017-9-21 17:55

感觉mouseX跟ckey好像




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