[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
支持大好人!帮助写个在CMD窗口支持鼠标的程序吧!但是不要占CPU 哦

我上传一个按要求修改也行

[ 本帖最后由 ZJHJ 于 2010-5-15 13:36 编辑 ]

TOP

为大家造福,有个200字节以内的第三方,彻底进入CMD窗口支持鼠标操作

本来已经有很多的三方程序可以支持CMD窗口使用鼠标操作,但是因为具有其他功能而使程序体积过大,使用不太方便。目的:用debug将三方置于BAT中。

要求1: 用ConsExt.exe修改,只保留X,Y坐标数据获取功能和时间获取功能。其余功能全部删除。(并保留获取功能方式)
ConsExt.exe最大优点: 占用cpu极小。缺点:程序200K字节太大.

2: 也可以用80字节的 mous.com修改。a.修改成按ConsExt.exe的 X,Y坐标数据获取方式即 等待鼠标点击,点击时同时获取X,Y坐标数据,(按46023的方式,即X0Y)。
b. 加入实时时间获取,(如同ConsExt.exe那样)。
c: 要求占用cpu极小,(即启用的ntvdm.exe占用cpu及时恢复到零)。

谢谢xinje 楼主!请按以上要求修改!
------------------------
目前mous.com的X ,Y 获取方式:
@ECHO Off
(CHCP 437 &GRAFTABL 936)>NUL
::获取鼠标坐标
:hh
@ECHO.
@ECHO 请鼠标点击窗口
mous
  set /a X=%errorlevel%+1
mous M
  set /a Y=%errorlevel%+1
cls
@ECHO       坐标 X %X%    Y %Y%
::鼠标坐标判断
goto hh

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

ConsExt.exe的获取方式:

ConsExt /event
  set /a sbs=%errorlevel%+1
  set  mX=%sbs:~0,-3%
  set  mY=%sbs:~-2,2%
@echo  坐标 ( X %mX%, Y %mY% )

[ 本帖最后由 ZJHJ 于 2010-5-19 22:14 编辑 ]

TOP

RD 8L
mous.com只有80字节都可以实现啊!只不过占用cpu太高了。(实际上是ntvdm.exe占用cpu太高,几呼100%)。

TOP

版主的 mouse.com 与上传的mous.com相比有所改进,但是问题同样是出在ntvdm.exe ,一样占用CPU太高几呼100%,也许这就是最致命的问题。
我不懂32位汇编,但上传的ConsExt.exe却不存在占用CPU的问题(同样启用了ntvdm.exe )。如果ConsExt.exe是用32位汇编能解决占用CPU的问题的话,2Kb能做到也是可以的啊。这样就非常方便用debug-dw载入bat了.

[ 本帖最后由 ZJHJ 于 2010-5-21 00:34 编辑 ]

TOP

xinje [楼主] 写的CMDMOUSE.exe,最成功的是不占用cpu.
但是返回值不正确,不能用.也无法设置变量取出.窗口外不应该取值.

TOP

经过修改的CMDMOUSE.exe程序写得非常成功!

TOP

xinje [楼主]写的 CMDMOUSE.exe 用起来很方便,不过发现一个问题,在启用中经常失灵,
要关闭CMD窗口重新启用。谢谢 楼主再检查修改一下。

TOP

CMDMOUSE在启用中经常‘失灵’的原因可能是这句命令引起的哦!
for /F "delims=" %%a in ('CMDMOUSE.exe') do @echo %%a>temp.txt

TOP

在goto 标签 ---call 某程序----关闭此程序,返回鼠标获取,就会出现经常死掉现象。

TOP

不是在另外的窗口要获取鼠标的位置。在批处理中call用的非常频繁,我说的是获取鼠标,判断X Y位置,goto  某标签,  call  *.exe,   执行完*.exe后退出,goto 返回到主界面重新获取鼠标,判断X Y位置,执行其他操作。问题就出在‘ 返回到主界面重新获取鼠标,判断X Y位置,执行其他操作。’有时无法重新获取鼠标值。(无反应--卡死)

TOP

我已经将for /F "delims=" %%a in ('CMDMOUSE.exe') do @echo %%a>temp.txt 命令修改为CMDMOUSE>temp.txt  了。

TOP

返回列表